2
respostas

Toda classe Pai (ou Mãe), será sempre abstrata?

Ou não necessariamente? Caso não, poderiam me apresentar um exemplo? :)

2 respostas

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!