Escolar Documentos
Profissional Documentos
Cultura Documentos
Introdução
Técnicas Avançadas em • Herança permite a reutilização de código através da criação de classes
(subclasses) baseadas em outras classes já existentes (superclasses).
Programação II
• Por sua vez, com o Polimorfismo, subclasses podem redefinir um método
herdado de uma superclasse.
Classes Abstratas
• Nem sempre isto é desejável. Em alguns casos é interessante descrever os
atributos e métodos que as classes herdeiras devem implementar, mas não
permitir a criação de objetos da classe ancestral, superclasse, que passaria
a ser somente um guia dos métodos e atributos que devem ser
implementados nas classes herdeiras.
Prof. Ícaro Prado
• Classes Abstratas • A classe Pessoa teria pouca utilidade, uma vez que somente objetos
da classe Funcionario e Gerente seriam utilizadas.
• Interfaces
• Por outro lado, não faz sentido eliminarmos completamente a classe
Pessoa, transferindo para Funcionario a tarefa de ser a superclasse,
uma vez que outra aplicação poderia usar Pessoa como superclasse.
1
10/06/2019
2
10/06/2019
3
10/06/2019
Classes Abstratas
Regras
• Métodos abstratos são somente declarados.
• Uma classe abstrata não pode ser instanciada.
• Uma subclasse de uma classe abstrata pode ser instanciada somente se
implementar todos os métodos abstratos.
• Se uma subclasse de uma classe abstrata não implementa todos os métodos
abstratos que herda, então ela também é uma classe abstrata.
• Classes abstratas podem ter variáveis e métodos não abstrato.
• Métodos e classes abstratos são declarados com o modificador abstract.