考虑一个简单的 'MyCalendar' 类的例子,它有 3 个 getter 'getDay、getMonth 和 getYear'。如果我将 'MyCalendar' 对象传递给我的另一个类,那么以下哪个选项将是一个好方法。
选项 1:在需要时通过注入对象的 getter 调用所需参数。
class Foo {
MyCalendar mycal;
class Foo(MyCalendar mycal) {
this.mycal = mycal
}
}
或者
选项 2:分配从注入对象的 getter 获得的值作为初始化的一部分。
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(); 在这种情况下,有一个本地副本有好处吗?