Ou não necessariamente? Caso não, poderiam me apresentar um exemplo? :)
Ou não necessariamente? Caso não, poderiam me apresentar um exemplo? :)
A classe abstrata tem como propósito ser uma classe que irá carregar os atributos e passar estes para outras classes, portanto tenha em mente que ela deve ser uma "ideia" ou uma classe mais "genérica". Ela não pode ser instanciada diretamente, de modo que a criação das instancias sejam feitas apenas a partir das classes filhas.
Oi, Cintia. Tudo bem?
Não necessariamente, a única coisa que muda de uma classe abstrata para a classe concreta é o fato da abstrata não poder ser instanciada como a concreta, por exemplo:
Assumindo que Conta
é uma classe abstrata e é pai da classe ContaCorrente
(uma classe concreta):
Isso não pode:
Conta conta = new Conta();
Já isso, pode:
ContaCorrente cc = new ContaCorrente();
Perceba, quando você diz que Conta
é uma classe abstrata, você está dizendo que ela não existe fisicamente, ou seja, ela é apenas uma ideia ou um modelo que classes as filhas como ContaCorrente
ou ContaPoupanca
devem seguir. Classes essas, inclusive, que de fato podem e devem ser instanciadas e ter seus atributos manipulados.
Se ficou qualquer dúvida, é só avisar!