我用一些数据成员、setter 和 getter 方法定义了一个类 Example:
class Example
{
private:
int variable_A;
public:
void set_A_value(int input)
{
variable_A = input;
}
int get_A_value()
{
return variable_A;
}
}
稍后,我创建类实例并在其他源代码文件中调用 setter 和 getter 方法。
如果我决定之后从类 Example 中删除 variable_A,将 getter 和 setter 方法的实现留空是否是一个好习惯,这样我们就不必从其他源文件中删除代码?
最佳答案
这很难说,因为您没有提供任何上下文,但我猜您正在做一些不适合面向对象设计的事情。
Getter 和 setter 应该访问类的概念属性,而不是它的物理成员。如果您为每个私有(private)变量创建一个 getter 和一个 setter,那么它就破坏了封装的整个目的。
variable_A
存储每个对象的概念属性——在这种情况下,删除它实际上会改变类的语义(在这种情况下,无论如何都必须重写依赖于它的代码) ---或者它没有,但构成了一个更大的功能的一部分,可以用不涉及 variable_A
的方式重写---在这种情况下不应该有 getter 和首先是二传手。
关于c++ - 空类方法实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22287881/