【发布时间】:2010-07-30 16:30:16
【问题描述】:
我应该在 C++ 中使用 getter 和 setter 还是直接访问类数据更好?
【问题讨论】:
-
C++ 中的原因与其他语言并没有什么不同;见Why use getters and setters?
标签: oop coding-style getter-setter
我应该在 C++ 中使用 getter 和 setter 还是直接访问类数据更好?
【问题讨论】:
标签: oop coding-style getter-setter
getter 和 setter 的基本原理是:您可以将其从对私有字段的简单包装器更改为相当复杂的计算,而无需使用类破坏任何代码。如果你确定 getter/setter 永远不会超过这个(或者它永远不会被使用那么多),请随意使用 pulic field,我不介意。
【讨论】:
这取决于你的实现是什么以及你想要什么风格。语言设计的一部分是能够使用封装,因此使用get 和set 方法访问类的私有数据通常是一个好习惯。
【讨论】:
一般来说,getter 和 setter 更好。
例外情况是,如果您有一个简单的类(通常意味着没有成员函数的类),它只是用于将数据捆绑在一起,以便更容易地传递。
【讨论】:
如果 getter/setter 中除了从公共字段返回/分配值之外没有任何逻辑,那么使用 getter/setter 和直接访问该字段之间没有显着差异。
【讨论】: