Post on 09-Nov-2018
Orientação a Objetos
• Programação Orientada por Objetos: é a construção de sistemas de software como
uma coleção estruturada de implementações de tipos abstratos de dados.
Tipos abstratos de dados:Módulos são construídos com base em
abstrações de dados (classes).
Classe
• Uma classe define:– Estrutura de dados que representa uma
“entidades”;– Implementações das operações sobre a estrutura– Classe é um “molde” para criar um objeto
• Objeto: em resumo, instância de uma classe
Classe
• Uma classe é uma estrutura que abstrai um conjunto de objetos com características similares.
Uma classe define o comportamento de seus objetos através de métodos e os estados possíveis destes objetos através de atributos.
Classe
• Classe é um conceito estático: uma classe é um elemento reconhecido no texto do programa.
• Objeto é um conceito puramente dinâmico, o qual pertence não ao texto do programa, mas à memória do computador.
Orientação a Objetos
• Programação Orientada a Objetos é a programação implementada pelo envio de mensagens a objetos.
• Cada objeto irá responder às mensagens conhecidas por este, e cada objeto poderá enviar mensagens a outros, para que sejam atendidas.
JAVA
• Cada declaração de classe que tenha public deve ser armazenada em um arquivo .java com o mesmo nome
• A palavra public representa um modificador de acesso
• Quando se executa uma classe específica, o metodo main é automaticamente executado pela JVM
JAVA
Pode-se executar a classe abaixo diretamente?
Fonte: Deitel & Deitel. JAVA – Como Programa. 9ª Edição
Função Construtora
• Tem o mesmo nome que a classe e sem tipo de retorno;
• É opcional;• Se não for definida, por default a JVM executa
uma construtora sem parâmetros;• Chamada a construtora ocorre quando cria o
objeto;NomeClasse y = new NomeClasse();
Métodos
• As funções de uma classe são conhecidas como métodos;
• A operação de chamar um método de um objeto é interpretada como “enviar mensagem ao objeto receptor”.
• Objeto receptor é aquele que recebe a mensagem e trata a mensagem;
Métodos
• Executar a mensagem é executar a função membro do objeto
• Métodos são compartilhados por todos os objetos de uma classe;
• Os objetos interagem através de mensagens.
Exercício
• Altere a classe GradeBookTest instanciando 3 objetos do tipo GradeBook, defina valores para todos os atributos;
• Imprima na linha de comando os valores dos atributos de cada objeto.
Composição
• Uma classe poder ter referências a objetos de outras classes;
• Ou seja, variáveis de uma classe pode ser do tipo de uma outra classe definida.
Herança
• Herança de classe é uma técnica para construir novas classes, chamadas de classes derivadas, a partir das classes já existentes, que são ditas classes base.
• Herança de classe permite o reuso do comportamento de uma classe na definição de outra.
Herança
• A classe derivada (subclasse) herda todas as características de sua classe base (superclasse) e pode adicionar outras.
• Herança de classe é um mecanismo para estender a funcionalidade de uma aplicação pelo reúso da funcionalidade da classe ascendente
Revisão
• Classes são abstrações de comportamentos e atributos de objetos similares;
• Objeto é um conceito dinâmico. Ela representa a instância de uma classe com estados e comportamentos.
• Composição é quando um classe possui atributos que são objetos de outras classes, ou dela mesma.
• Herança é um tipo de polimorfismo que permite uma maior reuso do software. As classes filhas herdam comportamento e atributos da classe pai (superclasse).