正如标题所示:创建函数来访问类变量是否是一种好的做法?创建函数来访问类变量是不是很好的做法?
我见过不少的代码块做类似如下的:
class MyClass {
public:
void setx(int a);
void sety(int b);
int read_x;
int read_y;
private:
int x;
int y;
};
void MyClass::setx(int a) {
x=a;
}
void MyClass::sety(int b) {
y = b;
}
int MyClass::read_x() {
return x;
{
int MyClass::read_y() {
return y;
}
因此而不是访问变量直接(MyClass.x),他们使用函数读取和设置变量值等。
这是一个标准或良好做法?
是的,访问器也减少了接口(公共方法)和实现(私有领域)之间的耦合。 – 2012-03-12 23:49:36
有一个例外(国际海事组织):如果你有一个变量,你知道永远不需要警卫,这是一个简单的类型,然后继续,只是公开。添加函数来获取/设置它只是代码膨胀。 – 2012-03-12 23:49:46
@EdS .:为了保持一致性,我添加了一个简单的访问器,它返回一个非''cont'参考,所以访问保持不变。 – Xeo 2012-03-12 23:53:03