我知道信息隐藏和封装不一定是一回事,但根据定义,它们似乎是同义词。这让我想知道一个是否可以在没有另一个的情况下存在。
以简单的方式,我将尝试解释这些事情:
封装是将相关事物分组到一个单元中的概念。
信息隐藏是限制对我们在上述概念中分组的成员的访问的概念。
所以如果你看到,这两个概念是相似的。在这里,我们不能说这些概念相互依赖。
封装是将相关项目分组的可能性。这些既是成员变量,也是方法。
而信息隐藏是隐藏内部状态的可能性。
然而,在实践中,信息隐藏通常被视为封装的一部分。