【发布时间】:2009-10-05 04:05:27
【问题描述】:
由于封装和抽象都与信息隐藏有关,我可以将封装理解为抽象的子集吗?
【问题讨论】:
-
他们需要做的方式 instain 母亲
标签: oop encapsulation abstraction information-hiding
由于封装和抽象都与信息隐藏有关,我可以将封装理解为抽象的子集吗?
【问题讨论】:
标签: oop encapsulation abstraction information-hiding
'abstraction' 是一个概念,它是定义或理解特定“事物”(无论可能是什么)的概念通过其基本属性或行为。
“封装”是一种计算机科学技术,用于生成允许处理具体对象的类一种将它们简化为抽象组件的方式。
在计算机科学领域,其他技术(例如使用图形和其他数据结构)是为各种底层“事物”提供抽象的另一种方式,即使它们看起来并不像任何东西就像图(或矩阵或其他结构)一样,它们的一些基本特征体现在这些结构中。
在其他领域,抽象可以以非常多样化的方式实现,例如人类大脑中永无止境的分类过程,它创建和维护“原型”(高级不变表示)代表日常概念。
【讨论】:
不幸的是,您上面提到的三个术语通常在某种程度上可以互换使用,无论好坏。
术语封装通常与信息隐藏互换使用。不过,并非所有人都同意两者之间的区别。可以将信息隐藏视为原理,将封装视为技术。软件模块通过将信息封装到提供接口的模块或其他结构中来隐藏信息。
至于你的具体问题,我认为答案是否定的。封装可能不是最好的抽象子集。抽象或多或少是一种理想。封装
划分构成其结构和行为的抽象元素的过程
是实现良好抽象的一种手段。
【讨论】: