0

为每个私有字段使用privategetter 和 setter 通常被认为是好的做法吗?我知道有时在某些情况下有明显的好处(反对直接访问特定字段),但是private总是使用 getter/setter 就足够了吗?

4

3 回答 3

2

如果您只想限制类中私有字段的可访问性,并且您想封装一些内容以在类中访问它,则可以对私有字段使用私有 setter 和 getter

通常情况并非如此

于 2013-11-03T07:00:08.060 回答
1

除非您在标准 get/set 之外进行额外的计算和过滤,否则我根本看不出这会有什么用...任何可以访问私有方法的代码也可以访问私有实例变量,所以你没有保护任何东西

于 2013-11-03T07:00:25.470 回答
0

getter 和 setter 的全部意义在于为你的类的客户提供一些对其内部的访问。当类可以直接访问自己的私有成员变量时,为什么这些方法会有用呢?

因此,如果您实现了私有 getter/setter,则该类可以轻松绕过它们并使它们变得毫无意义。

至少在 Scala 中,你有对象私有与类私有的概念,这种讨论开始变得更有用了。

于 2013-11-03T07:17:52.247 回答