これを行う適切な方法が見つかりませんでした。Class Aa
から継承するとしましょうClass A
。私の考えは、Aa で 2 つの属性をオーバーライドすることでした。そのため、この関数が A から呼び出されているときに、A の関数でこれらの属性を使用できます。
Class A {
String attr;
public void publicMethod(){
....
callMethod2();
....
}
protected method2(){
....
whatever = attr;
}
}
Class Aa extends A{
//mandatory override?
attr
}
呼び出し例:
Aa test = new Aa();
test.publicMethod();
「必須にしない」だけでうまくいくと思いますが、何らかの方法でこの属性を設定する必要があることは直感的ではありません。回避策はありますか?私はおそらくこれをオーバーエンジニアリングしています。