空类方法实现

时间:2014-03-09 20:40:47

标签: c++ class methods

我使用一些数据成员,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方法的实现留空是一个好习惯,这样我们就不必从其他源文件中删除代码了吗?

2 个答案:

答案 0 :(得分:3)

很难分辨,因为你没有提供任何上下文,但我猜你正在做一些不适合面向对象设计的事情。

Getters和setter应该访问该类的概念属性,而不是物理成员。如果你为每个私有变量制作一个getter和setter,那么它就会破坏封装的整个目的。

variable_A存储每个对象的概念属性---在这种情况下删除它实际上会改变类的语义(在这种情况下,依赖于它的代码无论如何都必须重写)---或者它没有,但形成了一个更大特征的一部分,可以用不涉及variable_A的方式重写 - 在这种情况下,首先不应该有一个吸气剂和设定器。

答案 1 :(得分:0)

在代码中保留未使用的变量不是一个好习惯。这可能会给读者带来困惑。但是,如果在某处使用变量或函数,删除它们肯定会出错。如果不使用它们,那么您可以优先考虑这项工作。