Cap 13: Herança e Polimorfismo
🎯 Objetivo do Capítulo
Dominar a hierarquia de classes, diferenciando Generalização de Especialização, e compreender como o Polimorfismo permite que objetos diferentes respondam à mesma chamada de formas distintas.
🏢 O Cenário Corporativo (TecProExpress)
Na TecProExpress, o sistema de funcionários está crescendo. Temos o Motorista, o Mecânico e o Gerente. Todos eles têm nome, CPF e data de admissão. Se você criar essas variáveis em todas as classes, terá 3 vezes o mesmo trabalho.
"Seu desafio como Arquiteto Sênior é criar a Superclasse
Funcionario. Nela, você colocará tudo o que é comum. As outras classes apenas 'estenderão' esse comportamento, focando apenas no que as torna únicas."
🧠 Hierarquia de Poderes no Java
| Termo UML | Papel na Arquitetura |
|---|---|
| Superclasse (Pai) | Onde moram os dados genéricos (Ex: Usuario). Contém o que é comum a todos. |
| Subclasse (Filha) | Onde moram as especialidades (Ex: Admin, Cliente). Herda o Pai e adiciona permissões. |
📊 Modelagem de Acesso
🔍 Generalização vs. Especialização
- Generalizar (Subir): Olhamos para as filhas e subimos para a classe Pai para remover repetições.
- Especializar (Descer): Olhamos para a classe Pai e descemos para as filhas para adicionar comportamentos específicos (ex: o Motorista tem CNH, mas o Atendente não).
Funcionarios e rodar um comando pagarSalario() para todos, independente se eles são motoristas ou gerentes. O sistema saberá qual regra aplicar a cada um. 🚀💡 Checkpoint de Lógica
Animal e uma classe Cachorro que herda dela, e percebe que precisa criar uma classe Gato, você deve criar todos os atributos do zero ou herdar de Animal? (Resposta: Herdar de Animal. A herança economiza linhas de código e garante que, se o nome de um animal mudar, mudará para todos). 🧠🛡️Cap 12: Diagrama de Classes (Conceitos)
Chegamos ao núcleo da Engenharia de Sistemas modernos. Se os "Casos de Uso" explicavam o que o usuário vê, o Diagrama de Classes explica como o software organiza a Memória RAM e o Banco de Dados. 🛡️🧩
Cap 14: Diagrama de Sequência
Enquanto o Diagrama de Classes mostra a "foto" parada do sistema, o Diagrama de Sequência mostra o "filme". Ele foca na ordem temporal das mensagens trocadas entre objetos para realizar um processo específico. 🛡️🧩