Junior
Qual é a diferença entre classes abstratas e interfaces?
sobes.tech IA
Resposta da IA
Classe abstrata:
- Pode conter métodos abstratos (sem implementação) e métodos concretos (com implementação).
- Pode conter campos (variáveis de instância).
- Pode ter construtores.
- Permite herança simples (uma classe pode herdar de uma classe abstrata).
- É usada para definir a estrutura básica e o comportamento geral de classes relacionadas.
Interface:
- Pode conter apenas métodos abstratos (algumas linguagens, como Java a partir da versão 8, permitem métodos default e static com implementação).
- Não pode conter campos de instância (apenas constantes).
- Não pode ter construtores.
- Permite implementação múltipla (uma classe pode implementar várias interfaces).
- É usada para definir um contrato que as classes devem cumprir.