Orientação a Objetos - Gil Eduardo de Andrade

Propaganda
Orientação a Objetos
Classe Abstrata
Polimorfismo
Gil Eduardo de Andrade
O Conceito de Classe Abstrata
O que é uma “Classe Abstrata”?
• Uma classe abstrata serve apenas como
modelo para uma classe concreta;
• Como são apenas modelos não podem ser
instanciadas diretamente;
– Ex.: Abstrata obj = new Abstrata();
• Como não são instanciadas devem ser
herdadas por classes concretas;
Aula 07: Classe Abstrata – Gil Eduardo de Andrade
O Conceito de Classe Abstrata
Características de uma “Classe Abstrata”
• Uma classe abstrata pode, ou não, conter
métodos abstratos, ou seja, pode ou não
implementar um método;
• Contudo, métodos abstratos definidos em
uma classe abstrata devem, obrigatoriamente,
ser implementados em uma classe concreta;
Aula 07: Classe Abstrata – Gil Eduardo de Andrade
O Conceito de Classe Abstrata
Objetivos de uma “Classe Abstrata”
• O objetivo da criação de classes abstratas é
encapsular classes com comportamento
comum;
• Elas podem aparecer durante a modelagem de
um sistema, ou serem criadas com intuito de
obter-se a reutilização do código;
Aula 07: Classe Abstrata – Gil Eduardo de Andrade
O Conceito de Classe Abstrata
Ainda, sobre “Classe Abstrata”
• Se uma subclasse de uma classe abstrata não
implementar todos os seus métodos
abstratos, então ela também é abstrata;
• Normalmente, é aconselhável mover o
máximo de funcionalidade possível para uma
superclasse, seja abstrata ou não ;
Aula 07: Classe Abstrata – Gil Eduardo de Andrade
Implementação: Classe Abstrata
“Classe Abstrata” no Java
• No Java, para indicar que uma classe é
abstrata, utiliza-se a palavra reservada
abstract;
Aula 07: Classe Abstrata – Gil Eduardo de Andrade
Exemplo: Classe Abstrata
Exemplo “Classe Abstrata” no Java
Aula 07: Classe Abstrata – Gil Eduardo de Andrade
Implementação: Classe Abstrata
Exemplo “Classe Concreta”
Aula 07: Classe Abstrata – Gil Eduardo de Andrade
Implementação: Classe Abstrata
Exemplo “Instância”
Aula 07: Classe Abstrata – Gil Eduardo de Andrade
Polimorfismo: Classe Abstrata
“Classe Abstrata” + “Sobrecarga de Método”
• Ao agregar-se os conceitos de Classe Abstrata
com Sobrecarga de Métodos em subclasses
distintas obtém-se o conceito de
Polimorfismo;
Aula 07: Classe Abstrata – Gil Eduardo de Andrade
Polimorfismo: Classe Abstrata
Representação Gráfica
• Polimorfismo – Subclasses:
Professor
calculoSalario() : double
ProfessorUniversidade
calculoSalario() : double
ProfessorInstituto
calculoSalario() : double
Aula 07: Classe Abstrata – Gil Eduardo de Andrade
Polimorfismo: Classe Abstrata
Exemplo “Polimorfismo”
Aula 07: Classe Abstrata – Gil Eduardo de Andrade
Download