抽象化 (计算机科学)

✍ dations ◷ 2025-11-18 13:33:53 #计算机科学,数据管理,编程典范

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

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

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

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

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

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

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

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

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

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

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

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

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

相关

  • 内阿米巴属E. coli E. dispar E. gingivalis E. histolytica E. invadens E. moshkovskii内阿米巴(entamoeba)是一个在变形虫纲(英语:Archamoebae)里面的一个属。里面的原生动物是动物的厌
  • 希腊语变音符号希腊语正写法自从希腊化时代开始使用过多种变音符号。这套复杂的多调正写法表示了古希腊语音系,并一直使用到了1982年,这时采用简化后的单调正写法替代了它,新正写法对应于现代
  • 建模语言在计算机科学与技术领域,建模语言是以模型对目标系统做出表征的手段。一个完整的建模语言定义由语法表述构成,包括良构规则和语义(意义);通常包含抽象语法和语义以及语用规则和具
  • ɽ卷舌闪音 是一种辅音,在部分口语中使用, 国际音标符合是⟨ɽ⟩, X-SAMPA符号是⟨r`⟩。卷舌闪音 的特征:当符号成对出现时,左边的是清音,右边的是浊音。阴影区域表示被认为是不
  • 李易李易可以指:
  • 三色猫三色猫,又叫三毛猫、玳瑁猫,也有的人称呼它三花猫,指黑色、橘色与白色共存在身上的猫,亦称为玳瑁色。因决定黑色和橘色的基因是性联遗传位于X染色体上(白色基因在常染色体上),若是
  • 硫酸亚汞硫酸亚汞是一种无机化合物,化学式为Hg2SO4。硫酸亚汞可以由Hg2(NO3)2溶液和硫酸反应得到,或者由SO2或Hg还原硫酸汞制备。硫酸亚汞受热分解:硫酸亚汞中的Hg(I)可以被一些氧化剂
  • 硫酸铀(III)硫酸铀(III)是三价铀的硫酸盐,化学式为U2(SO4)3,具有放射性。它是第一个被发现的水合的三价铀盐。硫酸铀(III)于1967年被R. Barnard等人报道,通过硫酸铀酰的电化学还原法制备,向
  • 2019冠状病毒病知名去世患者列表以下是2019冠状病毒病去世的知名人士名单: Template:COVID-19
  • 倍他米隆倍他米隆 (其国际非专利药品名称为“”) 也称为“ -苯甲酰基-β-丙氨酸”或“贝它米龙”,是一种常与抗生素帕尼培南以1:1的比例合用的化合物。倍他米隆能竞争性抑制帕尼培南