空类方法实现

Empty class method implementation

本文关键字:实现 类方法      更新时间:2023-10-16

我定义了一个类Example,其中包含一些数据成员,setter和getter方法:

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方法。

如果我决定删除variable_A从类示例之后,这是一个很好的做法,离开getter和setter方法空的实现,这样我们就不必从其他源文件中删除代码?

很难说,因为您没有提供任何上下文,但我猜您正在做一些不是很好的面向对象设计。

getter和setter应该访问类的概念属性,而不是其物理成员。如果你为每个私有变量都设置了getter和setter,那么它就违背了封装的全部目的。

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

在代码中保留未使用的变量不是一个好的做法。这可能会给读者造成困惑。但是,如果变量或函数在某处被使用,删除它们肯定会产生错误。如果它们没有被使用,那么您可以给这项工作最低的优先级。