Sobes.tech
Junior — Middle

Em que casos é aconselhável usar classes abstratas no projeto de componentes de software?

sobes.tech IA

Resposta da IA

As classes abstratas são apropriadas quando é necessário definir uma classe base comum com uma implementação parcial, mas ao mesmo tempo proibir a criação direta de suas instâncias.

O uso de classes abstratas é justificado se:

  • Existem métodos e campos comuns que devem estar presentes em todos os herdeiros.
  • É necessário garantir a implementação obrigatória de certos métodos nas subclasses (por meio de métodos abstratos).
  • É necessária uma implementação parcial que possa ser reutilizada nos herdeiros.

Por exemplo, num projeto, pode-se criar uma classe abstrata Animal com métodos comuns eat() e um método abstrato makeSound(), que devem ser implementados por animais específicos:

public abstract class Animal {
    public void eat() {
        System.out.println("Este animal está a comer.");
    }
    public abstract void makeSound();
}

public class Dog extends Animal {
    @Override
    public void makeSound() {
        System.out.println("Woof!");
    }
}

Assim, as classes abstratas ajudam a organizar a hierarquia e a fornecer um padrão para os herdeiros.