Junior — Middle
Pode explicar o que significa o conceito de 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 para outras classes e pode conter métodos implementados bem como métodos abstratos (sem implementação), que devem ser implementados nas subclasses.
Por exemplo, em Dart (a linguagem Flutter), uma classe abstrata é declarada com a palavra-chave abstract:
abstract class Animal {
void makeSound(); // método abstrato
void breathe() {
print('A respirar'); // método implementado
}
}
class Dog extends Animal {
@override
void makeSound() {
print('Au');
}
}
void main() {
// Animal animal = Animal(); // Erro: não é possível criar uma instância de uma classe abstrata
Dog dog = Dog();
dog.makeSound(); // Au
dog.breathe(); // A respirar
}
Dessa forma, a classe abstrata define uma interface geral e funcionalidade básica, enquanto as classes concretas implementam os detalhes.