3 つのゲッター「getDay、getMonth、および getYear」を持つ単純な「MyCalendar」クラスの例を考えてみましょう。「MyCalendar」オブジェクトを別のクラスに渡す場合、次のオプションのどれが適切なアプローチになるでしょうか。
オプション 1: 必要に応じて、注入されたオブジェクトのゲッターを介して必要なパラメーターを呼び出します。
class Foo {
MyCalendar mycal;
class Foo(MyCalendar mycal) {
this.mycal = mycal
}
}
また
オプション 2: 初期化の一部として、注入されたオブジェクトのゲッターから取得した値を割り当てます。
class Foo {
Day d;
Month m;
Year y;
class Foo(MyCalendar mycal) {
d = myCal.getDay();
m = myCal.getMonth();
y = myCal.getYear();
}
}
答えが選択肢 1 の場合: ループのようにフィールドに複数回アクセスする必要がある場合: for (..some imaginary usecase) { mycal.getDate(); この場合、ローカル コピーを使用するメリットはありますか?