Junior — Middle
Explique o que é uma classe abstrata na programação orientada a objetos.
sobes.tech IA
Resposta da IA
Uma classe abstrata na programação orientada a objetos é uma classe que não é destinada a criar instâncias diretamente. Ela serve como modelo base para outras classes e pode conter:
- Métodos abstratos: declarados mas não implementados na própria classe abstrata, cuja implementação é obrigatória nas subclasses.
- Métodos normais com implementação, que podem ser utilizados ou sobrescritos nas subclasses.
A classe abstrata ajuda a definir uma interface e comportamento comuns para um grupo de classes relacionadas, garantindo a possibilidade de concretização nas subclasses.
Exemplo em Java:
abstract class Animal {
abstract void makeSound(); // método abstrato
void sleep() {
System.out.println("A dormir...");
}
}
class Dog extends Animal {
void makeSound() {
System.out.println("Latir");
}
}
Aqui, Animal não pode ser criado diretamente, mas pode-se criar um Dog, que implementa o método abstrato.