我使用一些数据成员,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方法的实现留空是一个好习惯,这样我们就不必从其他源文件中删除代码了吗?
答案 0 :(得分:3)
很难分辨,因为你没有提供任何上下文,但我猜你正在做一些不适合面向对象设计的事情。
Getters和setter应该访问该类的概念属性,而不是物理成员。如果你为每个私有变量制作一个getter和setter,那么它就会破坏封装的整个目的。
variable_A
存储每个对象的概念属性---在这种情况下删除它实际上会改变类的语义(在这种情况下,依赖于它的代码无论如何都必须重写)---或者它没有,但形成了一个更大特征的一部分,可以用不涉及variable_A
的方式重写 - 在这种情况下,首先不应该有一个吸气剂和设定器。
答案 1 :(得分:0)
在代码中保留未使用的变量不是一个好习惯。这可能会给读者带来困惑。但是,如果在某处使用变量或函数,删除它们肯定会出错。如果不使用它们,那么您可以优先考虑这项工作。