【发布时间】:2016-06-06 03:49:29
【问题描述】:
在类的所有私有变量上添加getters和setters真的有必要还是一个好的做法? p>
我不是在询问只读变量。我真正要问的是一般情况,在大多数情况下,我们只是添加 getter 和 setter 以防万一它们被需要并且不知道它们是否是否会使用。
【问题讨论】:
-
当然不是。在大多数情况下,类的大部分变量应该是私有字段。此外,在许多情况下,属性应该是只读的,可能根本不需要设置器。但是,对于那些应该公开公开的变量,出于多种原因,有时有必要使用 getter 和 setter 代替字段,但几乎总是好的做法。
-
有很多博客认为 getter/setter 是邪恶的。我会尽量避免一起。如果我不知道是否需要它们,我永远不会添加它们。
-
@ARUN:我几乎从不需要 setter 属性。内部状态在构造函数中初始化,并使用完全限定的语义命名方法以OO方式更改。阅读所附链接,例如stackoverflow.com/questions/565095/…,了解如何避免设置器。
-
对于Software Engineering 来说似乎是个好问题,因为它不是关于特定的编程问题,而是关于最佳实践。
标签: class oop object setter getter