Sobes.tech
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.