什么是更好的做法以及原因:通过受保护的字段或私有字段上的公共获取程序访问基类变量。(无论如何,吸气剂都是公开的)
3 回答

慕雪6442864
TA贡献1812条经验 获得超5个赞
如果无论如何都会有公众参与,为什么您要比绝对必要的范围更广泛地公开该领域?这意味着它可以被子类立即写入(除非从头开始是最终的)。
就我个人而言,我希望所有领域都是私有的:它提供了API与实现之间更清晰的分隔。我认为超类和子类之间的关系类似于调用者和被调用者之间的关系-对基础实现的更改不应破坏子类,而应该破坏调用者。字段名称是实现细节,不应影响其他类。
诚然,我的观点是偶尔看到的有点极端的...

繁华开满天机
TA贡献1816条经验 获得超4个赞
您应该始终针对类的公共API进行编程,即使用公共方法。
原因很简单。在将来的某一天,您或其他人可能想要更改实施。这应该始终是可能的。如果您依赖实例变量,则会限制自己。
另外,访问变量时,您无法控制该变量是否为只读,也不能在更改此变量时添加检查。
如果您使用的制定者/吸气,你可以添加永诺验证,检查等以后。您也只能提供一个getter来使变量变为只读。
添加回答
举报
0/150
提交
取消