e Polimorfismo
Abstração Encapsulamento
Modularidade Hierarquia
Chamadas de Métodos
Freia
Carro
Motorista
Veículo
Carro
✓ c.acelera();
c.freia();
Implementação
Implementação
}
Leonardo Murta Herança e Polimorfismo 30
Classes Abstratas
• Não podem ser usadas para instanciar objetos
• Devem ser vistas como templates para subclasses
que irão dar uma implementação aos métodos
abstratos
• Exemplo:
– Classe abstrata Pagamento tem um método abstrato
paga(...)
– Classes concretas PagamentoVisa, PagamentoCheque,
PagamentoDinheiro dão comportamento ao método
paga(...)
Leonardo Murta Herança e Polimorfismo 31
Classes Abstratas
public abstract class Pagamento {
...
public abstract void paga(...);
}