我正在围绕 C 库编写 C++ 包装器,因此需要使用 getter/setter 方法来调用原始 C 函数。
class View {
public:
GR_COLOR getBackgroundColor();
void setBackgroundColor(GR_COLOR color);
GR_COLOR getBorderColor();
void setBorderColor(GR_COLOR color);
};
像这样将这种风格与普通变量混合在一起会被认为是不好的吗?
class View {
public:
GR_COLOR getBackgroundColor();
void setBackgroundColor(GR_COLOR color);
GR_COLOR getBorderColor();
void setBorderColor(GR_COLOR color);
int someOtherVariable;
};
最佳答案
如果您为所有变量定义 getter 和 setter,并将这些变量设为私有(private),那么以后对代码的更改会容易得多。这是 OOP 中 getter/setter 背后的原则之一。人们不会直接访问您的成员,您不必担心他们如何使用它,因为您可以通过 getter 和 setter 控制他们的使用方式。
它也会与您图书馆的其他部分保持一致。
然而,最终取决于您。如果我是你,我肯定会使用 getter 和 setter。
关于c++ - 混合 getter/setter 和普通变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7864736/