Eu não entendi o que são e para que servem as classes abstratas
Eu não entendi o que são e para que servem as classes abstratas
As classes abstratas servem ao propósito de generalizar comportamentos. Elas nao podem ser instanciadas em si mesmas, mas outras classes herdam das abstratas e implementam os seus comportamentos.
Por exemplo, imagine uma classe abstrata Veiculo que possui os comportamentos businar() e acelerar()
Agora imagine uma classe Carro que herda de Veiculo, implementando os comportamentos businar() e acelerar(), da forma como são esperados para um carro.
Uma outra classe chamada Moto pode herdar de Veiculo e implementar seus próprios comportamentos, da forma como são esperados para o caso de uma moto.
Assim, voce nunca teria um objeto Veículo instanciado diretamente da classe Veiculo, justamente porque essa classe representa um conceito abstrato. O que deve existir são objetos que herdam de Veiculo e são instanciados de classes concretas.