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.