2016-03-21 35 views
2

我知道信息隐藏和封装不一定是相同的东西,但根据定义,它们看起来非常同义。这使我想知道,如果没有其他人,他是否可以在场。信息隐藏和封装是相互独立的吗?

+0

事实上,维基百科关于封装的文章中的第一个几句与OOP相关,完美地回答了这个问题:https://en.wikipedia.org/wiki/Encapsulation_(computer_programming) – jrahhali

回答

0

简单办法,我会尽力解释这个事情:

封装是相关的事物,分组的概念为一个单元。

信息隐藏是限制访问成员的概念,我们在上面的概念中分组在一起。

所以,如果你看到,两个概念是相似的。在这里,我们不能说这些概念相互依赖。

+0

你自相矛盾。您的信息隐藏定义取决于已经发生的封装,但您声明概念之间没有依赖关系。你不能两面都有。 – forsvarir

+0

我们可以隐藏或不隐藏数据。所以,无论我们团结在一起,不应总是隐藏起来。隐藏仅取决于我们想限制用户访问的数据类型。这就是为什么我说他们之间没有依赖关系。 –

0

封装是组合相关项目的可能性。这些都是成员变量和方法。

虽然信息隐藏是隐藏内部状态的可能性。

然而在实践中,信息隐藏常常被看作是封装的一部分。