封装是面向对象编程的一个基本范式。它允许将数据和方法在类中组合在一起。然而,封装本身并不能保证防御性编程。
为了实现健壮性,我们采用了信息隐藏。信息隐藏是一种编程原则,它提倡限制对内部实现细节的访问。
在本教程中,我们将探讨封装和信息隐藏的细节。此外,我们将查看一些示例代码并理解这两个概念之间的主要区别。
2. 历史背景
1972年,Parnas首次提出“信息隐藏”一词,试图区分过程式编程和模块化编程。
Parnas推断,数据的实现应对外部模块不可见。
此外,在1973年,Zelis提出了封装一词,以解释如何减少对类中底层数据的访问,以防止不必要的修改。
大约 6 分钟