Em Java, as classes não podem herdar de mais de uma classe ao mesmo tempo (herança múltipla não existe).
Mas interfaces resolvem completamente essa limitação, permitindo que uma classe implemente vários comportamentos ao mesmo tempo.
| Ícone | Conceito | Explicação |
|---|---|---|
| 📜 | Contrato | Define o que a classe deve fazer (métodos obrigatórios). |
| 🧩 | Separação de Papéis | Descreve a função, mas não a implementação. |
| 🔄 | Polimorfismo | Objetos diferentes podem ser usados de forma uniforme. |
| 🔀 | Herança Múltipla de Comportamento | Uma classe pode implementar quantas interfaces quiser. |
💡 Pense na interface como uma lista de habilidades mínimas que um ninja deve dominar — cada um executa à sua maneira.
(referência leve e elegante)
Ninjainterface Ninja {
void atacar();
void defender();
void usarJutsu();
}
class Naruto implements Ninja {
@Override
public void atacar() {
System.out.println("Naruto ataca com kunai.");
}
@Override
public void defender() {
System.out.println("Naruto cria uma defesa rápida.");
}
@Override
public void usarJutsu() {
System.out.println("Naruto realiza um jutsu de alto impacto.");
}
}
class Sasuke implements Ninja {
@Override
public void atacar() {
System.out.println("Sasuke ataca com precisão.");
}
@Override
public void defender() {
System.out.println("Sasuke esquiva com agilidade.");
}
@Override
public void usarJutsu() {
System.out.println("Sasuke libera uma técnica poderosa.");
}
}