0

我只是想知道是否可以对访问器提供一点帮助,正如您从我的代码中看到的那样,我不应该使用 int numCols 和 int numRows 作为实例变量。

我们需要访问器 getNumOfCols() 和 getNumOfRows()。我们需要这些,因为面板不应该有自己的 numCols 和 numRows 实例变量。如果您复制此类数据,您只是在自找麻烦,因为它可能会变得不一致。

请任何人都可以帮我创建访问器以替换我的实例变量吗?

class MineFinderPanel extends JFrame implements MouseListener   // changed
{ 
// numCols and numRows shouldn't get here.  They should be gotten from the model
int numCols;
int numRows;
4

1 回答 1

2

访问器方法,称为 getter 和 setter,仅用于操作应该是私有的并且只能由创建它的类操作的字段或变量。因此,具有公共方法的私有字段。

所以你应该有一个为你的框架创建模型的类。

访问器方法的示例。您将不得不创建另一个类来实现它们:

// private - only available within its class
private int numCols;
private int numRows;

// public methods - ability to access the private fields.
public int getNumCols() {
    return this.numCols;
}

public int getNumRows() {
    return this.numRows;
}
于 2013-03-12T18:53:57.003 回答