🏗️ Heranças de Código (Generalização)
A Herança é o mecanismo onde uma classe "filha" herda automaticamente as características da classe "pai", permitindo a criação de sistemas modulares e a eliminação de redundância (DRY - Don't Repeat Yourself).
🏗️ 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 novas. |
classDiagram
class Usuario {
+String email
+String senha
+fazerLogin()
}
class Admin {
+Integer nivelAcesso
+deletarUsuario()
}
class Cliente {
+String cartaoCredito
+comprarProduto()
}
Usuario <|-- Admin : extends
Usuario <|-- Cliente : extends
[!TIP] 💡 Generalizar vs Especializar: Subimos na hierarquia (Filha -> Pai) para Generalizar (tirar o que é comum). Descemos na hierarquia (Pai -> Filha) para Especializar (detalhar o comportamento específico do objeto).