je dois obtenir un champ d'un objet instancié dans une superclasse. Le problème est que je dois obtenir à partir d'une sous-classe deux niveaux de profondeur de la superclasse, qui est, je suis dans la classe SingleChart
qui s'étend SingleTable
, qui s'étend TemplateReport
classe. TemplateReport
instancie l'objet private Report
. Report
a des getters et des setters publics. Je veux récupérer le champ height
de Report
. Est-il possible de le faire directement à partir SingleChart
à TemplateReport
?Comment obtenir le champ d'un objet, instancié dans la superclasse, d'une sous-classe d'une sous-classe
0
A
Répondre
1
variables d'instance privées sont héritées par les sous-classes.
Donc, si TemplateReport fait un objet rapport, et le rapport a accesseurs. Vous pouvez obtenir l'objet Report depuis n'importe quelle sous-classe en appelant le getter et en demandant la valeur dont vous avez besoin.
0
TemplateReport aurait besoin d'une méthode getReport publique() afin que vous puissiez accéder à l'instance de rapport de la sous-classe. Si vous ne souhaitez pas autoriser l'accès à cette instance vous pourriez avoir des méthodes spécifiques qui permettent d'accéder:
public int getReportHeight() {
return report.height;
}
Je viens de le faire: 'this.report.getHeight();' – losaliens