Sobes.tech
Junior — Middle

Quais são as principais funções e aplicações das classes abstratas na programação orientada a objetos?

sobes.tech IA

Resposta da IA

As classes abstratas na programação orientada a objetos são classes que não são destinadas a criar instâncias diretamente, mas servem como modelos base para outras classes.

Funções principais das classes abstratas:

  • Definir uma interface comum e comportamento base para um grupo de classes relacionadas.
  • Possibilidade de declarar métodos abstratos (sem implementação), que devem ser implementados pelas subclasses.
  • Permitem implementar parcialmente a funcionalidade que as subclasses herdam.

Aplicabilidade:

  • Quando é necessário estabelecer um contrato comum para diferentes implementações.
  • Quando parte da lógica é comum, e outra parte deve ser implementada pelos herdeiros.

Exemplo em Java:

abstract class Animal {
    abstract void makeSound(); // método abstrato
    void breathe() {
        System.out.println("Respira");
    }
}

class Dog extends Animal {
    void makeSound() {
        System.out.println("Au-au");
    }
}

Aqui, Animal não pode ser criado diretamente, mas pode criar um Dog, que implementa o método makeSound.