在Java中,在类的方法中调用类实例的变量值的getter是否合适?
我正在为一个Java类编写一个非静态方法,该方法使用调用该方法的类实例的类变量的值作为确定输出的因素之一。从类方法中调用该变量的getter方法是标准做法,还是简单地键入该变量的名称在Java中,在类的方法中调用类实例的变量值的getter是否合适?,java,methods,standards,getter,Java,Methods,Standards,Getter,我正在为一个Java类编写一个非静态方法,该方法使用调用该方法的类实例的类变量的值作为确定输出的因素之一。从类方法中调用该变量的getter方法是标准做法,还是简单地键入该变量的名称 例如,考虑一个具有以下构造函数的类: public BoardSpaceSymmetry(int boardSize, int xIndex, int yIndex) { this.boardSize = boardSize; this.xIndex = xIndex; this.yInde
例如,考虑一个具有以下构造函数的类:
public BoardSpaceSymmetry(int boardSize, int xIndex, int yIndex) {
this.boardSize = boardSize;
this.xIndex = xIndex;
this.yIndex = yIndex;
this.xMax = xIndex + boardSize - 1;
this.yMax = yIndex + boardSize - 1;
}
如果我正在为BoardSpaceSymmetry类的一个实例编写一个方法,该类使用xIndex和yIndex的值,那么哪种方法更标准
备选方案A:
public boolean isSpaceOnDiagonal (int xCoord, int yCoord) {
if ((xCoord - getxIndex()) == (yCoord - getyIndex())) {
return true;
}
if(getyMax() - yCoord == xCoord - getxIndex()) {
return true;
}
return false;
}
备选案文B:
public boolean isSpaceOnDiagonal (int xCoord, int yCoord) {
if ((xCoord - xIndex) == (yCoord - yIndex)) {
return true;
}
if(yMax - yCoord == xCoord - xIndex) {
return true;
}
return false;
}
备选案文C:
public boolean isSpaceOnDiagonal (int xCoord, int yCoord) {
if ((xCoord - this.xIndex) == (yCoord - this.yIndex)) {
return true;
}
if(this.yMax - yCoord == xCoord - this.xIndex) {
return true;
}
return false;
}
谢谢。选项B和选项C在语义上是等价的。我建议使用选项A,如果我们将来想存根这个对象,它可能会派上用场