1

由于封装和抽象都与信息隐藏有关,我可以将封装理解为抽象的子集吗?

4

2 回答 2

8

封装只是实现抽象的一种方式。

抽象”是一个概念,它是通过其基本属性或行为来定义或理解特定“事物”(无论可能是什么)的想法。
封装”是一种计算机科学技术,用于生成允许以将具体对象简化为抽象组件的方式处理具体对象的类。

在计算机科学领域,其他技术(例如使用图和其他数据结构)是为各种底层“事物”提供抽象的另一种方式,即使它们看起来不像图(或矩阵或其他结构) ) 在这些结构中体现了它们的一些基本特征。

在其他领域,抽象可以以非常多样化的方式实现,例如人类大脑中永无止境的分类过程,它创建和维护代表日常概念的“原型”(高级不变表示)。

于 2009-10-05T04:12:47.597 回答
2

不幸的是,您上面提到的三个术语通常在某种程度上可以互换使用,无论好坏。

维基百科:信息隐藏

封装一词通常与信息隐藏互换使用。不过,并非所有人都同意两者之间的区别。可以将信息隐藏视为原理,将封装视为技术。软件模块通过将信息封装到提供接口的模块或其他结构中来隐藏信息。

至于你的具体问题,我认为答案是否定的。封装可能不是最好的抽象子集。抽象或多或少是一种理想。封装

划分构成其结构和行为的抽象元素的过程

是实现良好抽象的一种手段。

于 2009-10-05T04:16:08.867 回答