Quando Usar Classes Abstratas da Linguagem Java

Vamos ver alguns cenários em que se deve usar a classe abstrata:

  • Quando você quiser usar o conceito de herança no código (compartilhar o código entre muitas classes relacionadas), fornecendo métodos comuns da classe base que as subclasses substituem
  • Se houverem requisitos especificados e apenas detalhes parciais de implementação
  • Enquanto as classes que herdam as classes abstratas têm vários campos ou métodos comuns (que requerem modificadores que não são public)
  • Se você quiser ter métodos que não são final ou não static para modificar o estado de um objeto
  • Considere o uso de classes abstratas e herança quando o seu problema for “A é um B”. Por exemplo, “Cão é um Animal”, “Lamborghini é um Carro”, etc.

Agora vamos ver um exemplo que usa a classe abstrata:

public abstract class Carro {
    
    protected abstract void ligar();
    protected abstract void desligar();

    
    // getters e setters
}
public class Fusca extends Carro {

    @Override
    protected void ligar() {
        // implementação do método ligar
    }

    @Override
    protected void desligar() {
        // implementação do método desligar
    }


}