【问题标题】:Getters and Setters in C++C++ 中的 Getter 和 Setter
【发布时间】:2010-07-30 16:30:16
【问题描述】:

我应该在 C++ 中使用 getter 和 setter 还是直接访问类数据更好?

【问题讨论】:

标签: oop coding-style getter-setter


【解决方案1】:

getter 和 setter 的基本原理是:您可以将其从对私有字段的简单包装器更改为相当复杂的计算,而无需使用类破坏任何代码。如果你确定 getter/setter 永远不会超过这个(或者它永远不会被使用那么多),请随意使用 pulic field,我不介意。

【讨论】:

    【解决方案2】:

    这取决于你的实现是什么以及你想要什么风格。语言设计的一部分是能够使用封装,因此使用getset 方法访问类的私有数据通常是一个好习惯。

    【讨论】:

      【解决方案3】:

      一般来说,getter 和 setter 更好。

      例外情况是,如果您有一个简单的类(通常意味着没有成员函数的类),它只是用于将数据捆绑在一起,以便更容易地传递。

      【讨论】:

      • 这是一个 POD,通常不作为类实现,而是作为结构实现。
      • 您说的是 POD 对吧?在这些情况下,通常结构会更好读,不是吗?
      【解决方案4】:

      如果 getter/setter 中除了从公共字段返回/分配值之外没有任何逻辑,那么使用 getter/setter 和直接访问该字段之间没有显着差异。

      【讨论】:

        猜你喜欢
        • 2015-02-03
        • 2010-10-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-27
        • 2015-02-03
        • 1970-01-01
        相关资源
        最近更新 更多