通常认为每个私人领域都使用private
getter和setter作为良好做法吗?我知道有时在某些情况下会有明显的好处(反对直接访问特定字段),但总是使用private
getter / setter就足够了吗?
答案 0 :(得分:2)
你可以使用私人制定者&私有字段的getter如果你想限制class中私有字段的可访问性,你想要在类中访问它来封装它
通常情况并非如此
答案 1 :(得分:1)
除非你在标准的get / set之外进行额外的计算和过滤,否则我看不出它会如何有用......任何有权访问私有方法的代码都可以访问私有实例变量好吧无论如何,所以你没有保护任何东西
答案 2 :(得分:0)
getter和setter的重点是为您的班级客户提供一些访问其内部的权限。当类可以直接访问自己的私有成员变量时,为什么这样的方法会有用呢?
因此,如果你实现了私有的getter / setter,那么这个类很容易绕过它们并使它们变得毫无意义。
至少在Scala中你有对象私有和私有私有的概念,这种讨论开始变得更有用。