我明白这个问题可能无法被“回答”,但我想知道是否有关于在类方法内直接使用私有成员还是使用公共访问器的指导方针。
例如,考虑以下代码(Java中的代码,但在C++中看起来非常相似):
例如,考虑以下代码(Java中的代码,但在C++中看起来非常相似):
public class Matrix {
// Private Members
private int[][] e;
private int numRows;
private int numCols;
// Accessors
public int rows(){ return this.numRows; }
public int cols(){ return this.numCols; }
// Class Methods
// ...
public void printDimensions()
{
// [A] Using private members
System.out.format("Matrix[%d*%d]\n", this.numRows, this.numCols);
// [B] Using accessors
System.out.format("Matrix[%d*%d]\n", this.rows(), this.cols());
}
printDimensions()
函数演示了两种获取相同信息的方法,[A] 使用私有成员(this.numRows, this.numCols
) 或 [B] 通过访问器(this.rows(), this.cols()
)。
一方面,您可能更喜欢使用访问器,因为没有办法不小心更改私有成员变量的值。 另一方面,您可能更喜欢直接访问私有成员,希望这将消除不必要的函数调用。
我的问题是,是否有任何标准或首选?
this.
这个前缀。 - Tony Ennis