我知道在这个问题上有很多很好的答案,但是我想知道完全封装的好处。
但是那里的答案总是引入了隐藏信息的好处,例如
1)不破坏班级的用户
2)允许通过设置方法验证输入
3)使调试更容易,因为我们只需要看一下 类的行为(即方法调用),以查看发生了什么问题
但是这些都没有严格地谈论封装。
这就是我所认为的封装
-以1个名称组合相关的状态和行为(在OOP中,这是一个类)
根据此定义,我能想到的唯一好处是:
- 支持黑盒行为以实现可重用性
- 这似乎是强制性的,但我想不出任何给予者“看不见,头脑不清”的心态