Olá,
Estou iniciando com Java e OO, e tenho uma dúvida, se crio uma classe principal e crio 3 subclasses a partir desta, quando eu criar um objeto baseado em uma das subclasses, este objeto vai ter os atributos/métodos da subclasse mais os atributos/métodos da classe principal.
Obs: os atributos da Classe Principal seriam Protegidos.
Essa eh uma pergunta que se resolve facilmente escrevendo um teste
bcartaxo
Verifique se as 3 classes passam no teste É-UM, esse é um bom caminho para saber se essas 3 classes realmente têm a semaântica para herdar da principal q vc diz. Quanto a principal ter seus campos protected é questionável, obviamente q existem situações q desaja-se ter campos protected e até public, porém via de regra atributos de uma classe devem ser encapsulados, ou seja private, o acesso se dá pelos getters and setters. Para vc q está aprendendo OO, fica essa dica, encapsulamento é um dos pilares da POO.
Mas fala mais dessas tuas classes q a gente pode ver se faz sentido ou n ter os campos protected.
abraço kra
sergiotaborda
darkpizza:
Olá,
Estou iniciando com Java e OO, e tenho uma dúvida, se crio uma classe principal e crio 3 subclasses a partir desta, quando eu criar um objeto baseado em uma das subclasses, este objeto vai ter os atributos/métodos da subclasse mais os atributos/métodos da classe principal.
Obs: os atributos da Classe Principal seriam Protegidos.
Versão simples:Se os attributos da classe mae são protegidos, então sim, eles estarão na classe filha junto com os da filha.
Versão extendida: Se vc criar um attributo na classe filha que é igual ao da classe mae, ele fará sobra (shadowing) sobre o da classe mae. Isso significa que vc tem que ter cuidado com os nomes dos atributos da classe filha. A menos, claro que o seu objetivo seja mesm fazer shadowing.