Aula 7 — Programação Orientada a Objetos
2026-08-26
A pergunta da Aula 6: como Pagavel forma aceita ora Pix, ora Cartao?
A resposta: Polimorfismo — múltiplas formas atrás do mesmo contrato.
Roteiro: Late Binding → taxonomia → fim do “Mar de IFs” → Generics.
“Muitas formas”: a mesma chamada, comportamentos diferentes, dependendo do objeto real.
Compilador: checa que o método existe. JVM: decide qual implementação roda.
Inclusão: qualquer implementação de Pagavel serve — pilar da OO.
Paramétrico: List<T> funciona igual para qualquer tipo, sem herança.
“Polimorfismo aparente”: um tipo novo exige voltar e reescrever Notificador — viola OCP.
| Static Binding | Dynamic Binding | |
|---|---|---|
| Quando | Compilação | Execução |
| Quem decide | Compilador | JVM |
| Vantagem | Performance | Desacoplamento total |
Por que a sobrecarga de métodos é chamada de “polimorfismo aparente”, mesmo permitindo múltiplas versões do mesmo nome de método?
Escreva sua resposta e compare com um colega antes de avançar (2 min).
Dica
Julgue V ou F — a questão só conta se acertar os 4 itens:
Dica
Meta-regra: precisar de if/switch/instanceof sobre tipo de negócio = sintoma de OCP violado.
Se amanhã surgir um novo meio de pagamento, o que exatamente muda no CheckoutController — e o que isso diz sobre o OCP?
Escreva sua resposta e compare com um colega antes de avançar (2 min).
Dica
Julgue V ou F — a questão só conta se acertar os 4 itens:
Cripto implements Pagavel exige alterar o código do CheckoutController.instanceof para decidir o que fazer com um objeto de negócio é sinal de que o polimorfismo não foi bem aproveitado.CheckoutController tratar Pix, Boleto e Cripto de forma idêntica.Dica
Pagavel.Erro de lógica na inserção → ClassCastException bem mais tarde, longe da causa.
4 vantagens: robustez, legibilidade, reutilização, performance (menos casts).
Generics é uma instância de qual tipo de polimorfismo na taxonomia de Cardelli-Wegner — e por que ele não exige que os tipos usados pertençam à mesma hierarquia de herança?
Escreva sua resposta e compare com um colega antes de avançar (2 min).
Dica
Julgue V ou F — a questão só conta se acertar os 4 itens:
List<Pagavel> impede, em tempo de compilação, que um objeto incompatível seja adicionado à lista.if para verificar o tipo concreto de um objeto de negócio é um sintoma de violação do OCP.Dica
Próxima aula: Herança — o outro mecanismo de polimorfismo, e o Princípio da Substituição de Liskov.
UNICAMP — Instituto de Computação