![面向对象的思考过程(原书第5版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/429/39980429/b_39980429.jpg)
上QQ阅读APP看书,第一时间看更新
1.8 封装和数据隐藏
使用对象的一个显著好处是对象无须暴露它的所有属性和行为。在出色的面向对象设计(至少通常认为是好的设计)中,对象仅暴露必要的接口来和其他对象进行交互。除了如何使用该对象,其他细节都应当对其他对象隐藏起来——基本上是一个“需要知道”的基础。
封装是基于对象既包含属性也包含行为这一事实定义的。数据隐藏是封装的主要部分。
例如,一个计算数字的平方值的对象必须提供一个接口来展示结果。然而,调用方无须知道该对象计算平方值的内部属性和算法。健壮的类会一直拥有良好的封装。下一小节中,我们会讲解接口和实现的概念,这是封装的本质。