【发布时间】:2012-12-01 19:08:13
【问题描述】:
【问题讨论】:
-
谁说你应该打扰?你不应该。
-
当您确实需要确保在获取或设置它们时发生某些事情(例如增加计数器或验证新值)时,它们会更有用。
-
如果你的结构或类必须维护基于属性的不变量,那么访问器和修改器方法可以确保维护这些不变量。
标签: c++ attributes accessor mutators
【问题讨论】:
标签: c++ attributes accessor mutators
答案主要取决于你编写代码是为了什么,以及你对自己的信任程度:
friend 指令,它允许细粒度封装而无需使用 setter 和 getter(即使它鼓励耦合,所以这里有两种不同的思想流派)李>
【讨论】:
我不能谈论 C++ 语法负担,但在一般面向对象的术语中,您应该提供 getter 和 setter,因为其他类不知道您如何存储内部状态,包括直接存储哪些属性,这些属性是基于计算的其他状态,并进一步转移到其他对象。与更广泛的世界就类将如何存储状态进行合同公告将限制您将来可以进行的调整,随着您要解决的问题变得更加细微,通常会抑制优化并破坏您的代码。
【讨论】:
【讨论】: