Não entendi o fato de o atributo "saldo" de conta ter que ser protected. No meu entendimento , quando você herda da classe mãe, você herda os atributos privates também
Não entendi o fato de o atributo "saldo" de conta ter que ser protected. No meu entendimento , quando você herda da classe mãe, você herda os atributos privates também
Oi Lorenza,
de certa forma, quando vc cria o filho ele é composto dos atributos da classe mãe e do filho. Mesmo assim, o filho não pode acessar os atributos privados da mãe. o compilador não permite!
abs
Para acessar:
Private - os atributos devem ser utilizados os métodos gets e sets assim consegue manipular estes atributos.
Protected - ele acessa diretamente quando for herdado, como se os atributos pertencer a mesma classe.
Um DAOGenerico que estou fazendo no meu projeto, eu crio o EntityManager como protected para poder ser utilizado no EstadoDAO, CidadeDAO, etc.
Evito assim de ter que ficar criando gets e sets sem necessidade e só terá acesso ao EntityManager somente das classe Pai e filho, não liberando acesso para outras classes já que elas não irão necessitar destes atributos.
Dê uma olhada na tabela de acesso no link a seguir: https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
Na especificação da linguagem, privado é exclusivo da classe.
Ou seja, somente da classe mãe.