我意識到這可能不是回答,但我正在尋找是否存在關於是否在類方法中直接使用私有成員或公共訪問器的某種指導。使用私人會員或公共訪問者的方法
例如,請考慮下面的代碼(在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()
)。
一方面,您可能更喜歡使用訪問器,因爲您無法無意中更改私有成員變量的值。另一方面,你可能更希望直接訪問私有成員,希望能夠刪除不必要的函數調用。
我想我的問題是,是事實上的標準還是首選?
代碼是Java,而不是C++,刪除標籤。無論如何,這個問題可能比Java或C++更多的*語言不可知的* –
這個人得到宗教信仰。我不認爲有一個標準。但是,只要有可能,我都會將'this.'關閉。 –
我同意它似乎是語言不可知的,這就是爲什麼我原來包含C++,因爲不會將問題的範圍限制爲Java。 – jedwards