抽象化 (计算机科学)

✍ dations ◷ 2025-12-04 15:09:34 #计算机科学,数据管理,编程典范

在计算机科学中,抽象化(英语:Abstraction)是将数据与程序,以它的语义来呈现出它的外观,但是隐藏起它的实现细节。抽象化是用来减少程序的复杂度,使得程序员可以专注在处理少数重要的部分。一个电脑系统可以分割成几个抽象层(Abstraction layer),使得程序员可以将它们分开处理。

抽象就是把一个问题或模型,以不同规则或方法所得出的不同的解(求解方法和解本身即抽象层),这些不同的解可以组合并还原成问题或模型的本身。

抽象的意义是可以忽略不是求解过程中必需的解。例如要用计算机程序去模拟“人”,在描述了人的动作(饮食、思考、移动等)符合设计要求后(如可完整表达“人”在坐下时候的动作),其他“人”的细节(躯干、器官、细胞活动乃至人际关系)都可以忽略,以集中设计需要的功能,并减低程序的复杂度。

为了使抽象的成品(算法)不会出现问题,要注意抽象时是否漏掉重要特征。

在程序设计中,高级语言是对机器指令序列的抽象。高级语言的出现,使得程序的编写得以简化,极大提高了程序的编写效率。随着软件技术的发展,组件技术进一步提升了程序抽象的级别。

另一种可取的替代方法是设计一种语言机制,允许程序师在需要的时候构建自己的抽象方法。一个通用的机制是使用过程(procedure)。通过分离过程的定义和规则,编程语言包含了两种重要的抽象方法:参数化抽象(abstraction by parameterization)和规范化抽象(abstraction by specification)。其中:

参数化抽象是用参数替换数据特征来进行抽象。这样能够归纳出模块,从而使其可以用于更多的情况。例如,可以定义一个排序抽象,既能够实现对实数数组的排序,又能够实现对整型数组的排序,或者甚至对数组类型这类一般结构都有用。

规范化抽象是将运行细节(即模块如何实现)抽象为用户所需求的行为(即模块做什么)。这是从具体实现中抽象出模块,需要的仅仅是模块的实现能够符合我们所依赖的表述形式。每当将一个过程与一个注释(这个注释提供了充分的信息,是其他人不用看过程主体就能使用该过程)关系起来,我们就会使用规范化抽象。

程序设计中,抽象类别包括下列4类:

1:过程抽象:能够引入一些新的操作;

2:数据抽象:能够引入新的数据对象类型;

3:反复运算抽象:能够反复运算遍历在集合中的元素,而不必显示如何获得元素的细节;

4:类型层次:能够从多个单独的数据类型中抽象成几组相关的类型。

相关

  • 亚甲基亚甲基(H2C:)是一个有机二价官能团,可分为:亚甲基常是碳链的组成单元,会增加化合物的亲脂性。
  • 蓝莓蓝莓,狭义是指一群越橘属越橘亚属青液果组(学名:Cyanococcus)的开花植物,广义上可以包括越橘属中长有蓝色浆果的所有物种。这些种的植物原生于北美洲与东亚,为灌木,高度可从10公分
  • 吡唑吡唑既可以用来指一类简单的芳香杂环有机化合物,它们都是含有五元环,包括三个碳原子和相邻的两个氮原子,也可以用来指这一类化合物的母体,即没有任何取代基。尽管在自然界中很难
  • 纳粹德国元首元首(德语:Führer, /ˈfyːʁɐ/ 帮助·信息)是纳粹德国的国家元首名称,实际上仅有阿道夫·希特勒担任过此职位。德语原名“Führer”原解作领袖或向导,是很常用的德语单词,且还
  • 苏萨罗图书馆苏萨罗图书馆(Suzzallo Library)是华盛顿大学的主图书馆。这栋学院哥特式建筑位于美国华盛顿州西雅图,是该大学的地标。其名来自前华盛顿大学校长亨利·苏萨罗(1915-1926在任),而
  • 国会宫阿根廷国会宫(Palacio del Congreso de la Nación Argentina)是阿根廷国会所在地,位于布宜诺斯艾利斯恩特雷里奥斯大道(Avenida Entre Ríos)50号,面临面积10000平方米的国会广场
  • 美国联邦准备理事会联邦储备委员会(英语:Federal Reserve Board of Governors,简称联储会)是美国联邦储备系统的主要管理机关。该会负责监管132个联邦储备银行,帮助推行货币政策。联储会理事由总统
  • 姐妹分体交换姐妹分体交换(Sister chromatid exchange, 缩写 SCE),是两个同卵姐妹染色单体之间的基因材料交换。减数分裂中,一条来自父方,一条来自母方的染色体叫做同源染色体。同源染色体 两
  • 2017年也门霍乱疫情也门霍乱疫情始于2016年10月。至2017年3月中旬,大多数地区疫情已缓和,于首都萨那的污水系统停摆后,2017年4月时疫情再度升温。至2017年6月疫情仍持续。联合国儿童基金会及世界
  • 本因坊丈和本因坊丈和(1787年-1847年),生于信浓国水内郡,乳名戶谷松之助,日本围棋棋手。父亲为商人,松之助从小即喜碁,于是其父在江户经商时将其送入坊门。其父过世时,因继承地位的纷争,少年时期