スーパークラスでインスタンス化されたオブジェクトのフィールドを取得する必要があります。問題は、スーパークラスから2レベル下のサブクラスから取得する必要があることです。すなわち、私はクラスSingleChart
にあり、SingleTable
を継承しています。それ自体はTemplateReport
クラスです。 TemplateReport
はprivate Report
オブジェクトをインスタンス化します。 Report
にはパブリックゲッターとセッターがあります。 Report
のheight
フィールドを取得したいとします。 SingleChart
からTemplateReport
に直接アクセスする方法はありますか?スーパークラスでインスタンス化されたオブジェクトのフィールドをサブクラスのサブクラスから取得する方法
0
A
答えて
1
プライベートインスタンス変数はサブクラスによって継承されます。
したがって、TemplateReportがReportオブジェクトを作成し、Reportにgetterとsetterがある場合。 getterを呼び出し、必要な値を要求することによって、任意のサブクラスからReportオブジェクトを取得できます。
0
TemplateReportには、サブクラスからレポートインスタンスにアクセスできるように、public getReport()メソッドが必要です。そのインスタンスへのアクセスを許可しない場合は、アクセスを許可する特定のメソッドを持つことができます。
public int getReportHeight() {
return report.height;
}
私はちょうどこれをしなければなりません: 'this.report.getHeight();' – losaliens