我想知道在使用私有方法时,以下哪项是更好的OOP练习。字段是应该直接使用,还是像参数一样提供给方法?
class MyClass {
private int myNumber;
public MyClass(int number) {
this.setMyNumber(number);
}
public void setMyNumber(int number) {
this.myNumber = number;
}
public int getMyNumber() {
return this.myNumber;
}
public int getTransformedNumber() {
return transformNumberInSomeWay1();
// OR
return transformNumberInSomeWay2(this.getMyNumber());
}
private int transformNumberInSomeWay1() {
int number = this.getMyNumber();
<... transformation of the number ...>
return number;
}
private int transformNumberInSomeWay2(int number) {
<... transformation of the number ...>
return number;
}
}
如果我对字段myNumber以外的其他东西使用转换数字方法,第二种方法更好。如果我实际上没有将它用于其他任何事情,那么我不知道该课程的开发会如何?我应该总是以第二种方式做到这一点,还是让需要它的人在以后改变它?