● Programa de computador – sequência de comandos ou instruções executados por um computador com a finalidade de produzir um resultado e resolver um problema; ● Linguagem de programação – método para a criação de programas computacionais. Compõe-se de um conjunto de símbolos (alfabeto) e um conjunto de regras que governam o uso destes símbolos (gramática); ● Linguagem de máquina – é o conjunto de instruções mais básico que pode ser executado por um dispositivo, na forma de dígitos 0 e 1. Cada dispositivo compreende um conjunto diferente e limitado de instruções; ● Linguagem de baixo nível – linguagem muito próximo àquela entendida pelo processador. Difícil de entender e programar. Exemplo: Assembly; ● Linguagem de nível intermediário – linguagem de programação que oferece uma sintaxe próxima da linguagem humana, mas também permite o uso de instruções em código de máquina. Exemplo: C; IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli ● Linguagem de alto nível – linguagem de programação cuja sintaxe se aproxima bastante da linguagem humana, facilitando sua utilização. Exemplo: Java, PHP, C++, etc...; ● Declarações de um programa – cada um dos comandos que compõem o código. Geralmente, cada declaração termina com um ponto-e-vírgula; ● Código-fonte – o arquivo de texto que contém os comandos de um programa, antes de ele ser traduzido em linguagem de máquina; ● Compilador – software especial que traduz os comandos de alto nível do código-fonte para código de máquina. O compilador traduz TODO o código-fonte e gera o arquivo executável; ● Executável ou código-objeto – o programa já traduzido para linguagem de máquina e pronto para ser executado pelo dispositivo; ● Interpretador – software especial que traduz diretamente cada declaração do programa-fonte para a linguagem de máquina; IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli ● Debug – atividade relacionada à detecção e correção de erros em um programa de computador; ● Erros de sintaxe – erros relacionados ao uso indevido dos elementos que compõem uma linguagem. Exemplo: digitação de um comando errado, esquecer de usar uma chave ou fechar um bloco de declaração, atribuir tipos de dados proibidos a uma variável, etc...; ● Erros de lógica – erros diretamente relacionados ao entendimento de como um programa de computador deveria simular e modelar o problema do mundo real. São os mais difíceis de serem corrigidos; ● Erro em tempo de execução – erros que surgem no momento em que o código-fonte está sendo compilado ou interpretado, causados por fatores externos ao próprio código. Exemplo: uma divisão por zero, ler um arquivo em disco que não existe, etc... IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli ● Programação estrutura – nesta abordagem, as operações são executadas em sequência, uma após a outra. As informações necessárias ao programa são armazenadas em variáveis. Pode-se definir, também, blocos de código que serão chamados para tratar estas informações: as funções ou procedimentos. Há uma separação entre a informação que será tratada e as ações que irão manipular estas informações. Porém, existe uma interdependência extrema entre os dados e as rotinas que tratam estes dados; IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli ● Programação orientada a objetos – nesta modelo, dados e comportamento são encapsulados em estruturas chamadas objetos. Classes são diagramas ou esquemas que dizem como um objeto será definido. Ao modelarmos o problema decompondo seus elementos em objetos, não há mais a dissociação entre a informação e aquilo que se faz com ela; ● Depois de criados, classes e objetos podem ser reutilizados continuamente em diferentes aplicações. Os objetos podem interagir entre si para trocar informações (atributos) ou realizar um serviço (método). IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli ● Classe é uma coleção de objetos com propriedades comuns ● A definição de uma classe especifica os métodos e atributos de um objeto; ● Atributos são características que definem um objeto – são suas propriedades; ● Em Java, há dois tipos de classe: aquelas já criadas pela linguagem e prontas para serem usadas e aquelas classes que serão criadas pelo desenvolvedor; ● Métodos de um objeto são as ações ou comportamentos que aquele objeto pode manifestar – algo parecido com procedimentos e funções em uma linguagem procedimental. IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli ● Cada objeto criado na aplicação é uma representação concreta e específica de uma classe; ● Dizemos que um objeto é uma instância de determinada classe; ● Todos os objetos de uma mesma classe possuem os mesmos métodos e atributos da classe. Mas o que diferencia um objeto de outro que pertença à mesma classe são os valores de seus atributos; ● A definição de uma classe especifica os métodos e atributos de um objeto; ● Os valores dos atributos de um objeto definem o estado deste objeto; ● Por comparação, podemos supor que os nomes dos objetos são como substantivos e os seus atributos são os adjetivos que descrevem estes nomes. IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli ● Atributos e métodos são encapsulados dentro de objetos; ● Este encapsulamento permite tratar os dados e as ações de um objeto como sendo uma única entidade, sem a separação da programação estruturada; ● O encapsulamento permite esconder detalhes de como um objeto manipula determinadas informações. Para utilizarmos o método de um objeto, não há a necessidade de um componente externo saber como este método funciona. Apenas necessitamos saber o que ele faz (e, eventualmente, quais as informações que o método necessita para fazer sua tarefa); ● Esta característica reduz a complexidade na utilização do objeto; ● Protege os dados de um objeto e impede a alteração dos seus valores; ● Métodos públicos e privados definem o nível de encapsulamento utilizado pelo objeto. IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli ● Mecanismo que permite que uma nova classe compartilhe atributos e métodos de uma classe já existente, mas com outras características mais específicas. Exemplo: automóveis e conversíveis; ● Define-se pela relação "É-UM(A)"; ● A classe-mãe, mais genérica, que transmite seus métodos e atributos para a classe descendente, mais especializada, é chamada de superclasse. A descendente é chamada de subclasse; IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli ● Mecanismo pelo qual o mesmo método de uma classe pode realizar diferentes ações, dependendo de que conjunto de dados o método irá receber para realizar determinada tarefa; ● Exemplo: suponha que uma superclasse chamada veículos defina o método "virar" e que este método sejam herdado por duas subclasses: barcos e aviões. Quando este método for chamado para um objeto da classe barco, ele será executado de uma forma diferente de quando for chamado para um objeto da classe aviões ou mesmo da classe veículos, já que a maneira como estes dois veículos voltam são diferentes um do outro. Isso é possível graças ao mecanismo do polimorfismo. IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli ● Criada pela Sun Microsystems. Hoje, pertence à Oracle; ● É uma linguagem de propósito geral e fortemente tipada; ● Inicialmente destinada à criação de aplicações desktop, também é utilizada em aplicações web e para dispositivos móveis; ● Linguagem multiplataforma – executa em diferentes sistemas operacionais e diferentes dispositivos; ● Uma aplicação Java passa por duas fases – uma de compilação e outra de interpretação; ● O código-fonte de uma aplicação é compilado e convertido para um arquivo especial chamado bytecode. Este arquivo não está em linguagem de máquina, mas contém instruções que, por sua vez, serão interpretadas por um interpretador da Máquina Virtual Java, que executa cada comando do bytecode de acordo com o conjunto de instruções suportado pelo dispositivo. O bytecode é compilado e independe da plataforma, podendo ser utilizado em qualquer equipamento. A JVM interpreta o bytecode e é dependente do equipamento em que ela reside; ● Identificadores em Java são sensíveis ao caso. IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli ● Applets – pequenos códigos em Java embutidos diretamente dentro de uma página web (arquivo HTML) e que são tratados pelo navegador; ● Servlets – códigos em Java executados em um servidor web baseados na arquitetura cliente-servidor. Usam a tecnologia JSP (Java Server Pages) ou JSF (um framework para Java facilitando a criação de aplicações web em Java com interface gráfica); ● Aplicações desktop: Aplicações de console – com saídas em modo texto; Aplicações gráficas – interface gráfica de usuário, com botões, caixas de texto, rótulos, menus, caixas de diálogo e outros controles. IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli ● Java SE Development Kit – JDK7u25 - instale este pacote antes de prosseguir: http://www.oracle.com/technetwork/java/javase/downloads/index.html; ● NetBeans 7.3.1 – baixar de https://netbeans.org/downloads/index.html; ● Instalação; ● Configuração; ● Utilização; IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli