Ou não necessariamente? Caso não, poderiam me apresentar um exemplo? :)
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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!