0

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(); この場合、ローカル コピーを使用するメリットはありますか?

4

2 に答える 2