artes
Classes Abstrata
1
Tópicos desta Aula
Classes Abstratas
Conceitos e motivações
Implementação em Java
Persistência de Objetos
Serialização
Exemplo Prático de Classe Abstrata
2
Técnicas de Programação I-A
Aula 05
Classes Abstratas
3
Classes Abstratas: Utilização
Herdar código sem quebrar noção de subtipos, preservando o comportamento do supertipo
Generalizar código, através da abstração de detalhes não relevantes
Projetar sistemas, definindo as suas arquiteturas e servindo de base para a implementação progressiva dos mesmos
4
Classes e Métodos Abstratos
Classes abstratas:
Classes que são demasiadamente gerais para criar objetos reais.
Utilizadas somente como superclasses abstratas para subclasses concretas e para declarar variáveis de referência.
Muitas hierarquias de herança têm superclasses abstratas que ocupam os poucos níveis superiores.
Palavra-chave abstract:
Utilize para declarar uma classe abstract.
Também utilize para declarar um método abstract:
• As classes abstratas normalmente contêm um ou mais métodos abstratos.
• Todas as subclasses concretas devem sobrescrever todos os métodos abstratos herdados.
5
Classes Abstratas
Uma classe abstrata declara atributos e comportamentos comuns das várias classes em uma hierarquia de classes.
Em geral, uma classe abstrata contém um ou mais métodos abstratos que as subclasses devem sobrescrever se as subclasses precisarem ser concretas.
Variáveis de instância e métodos concretos de uma classe abstrata estão sujeitos às regras normais da herança.
6
Erros Comuns
Tentar instanciar um objeto de uma classe abstrata é um erro de compilação.
Não implementar os métodos abstratos de uma superclasse em uma subclasse é um erro de compilação, a menos que a subclasse também seja declarada abstract. 7
Exemplo
Definição de uma classe genérica para manipular a persistência de objetos do tipo