抽象化 (计算机科学)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关

  • 方式关系方式关系(英语:troponymy)指的是词位之间因“方式”的联系而存在的关系。这个概念由克里斯蒂安妮·费尔巴姆(英语:Christiane Fellbaum)和乔治·A·米勒首次提出。例如,咕哝、嘟囔
  • 砂糖糖(sugar)泛指各种可食用的带有甜味的晶体,有甜味、短链、可溶于水的有机化合物,许多会用在食品。糖在有机化学中属于糖类,由碳、氢及氧三种原子组成。单糖是结构较简单的糖,包括
  • 车祸车祸,或称交通事故和肇事,是在道路交通中,牵涉到车在内的一种意外事件,可能造成重大的生命财产损失。由于现代运输机动车辆是必须的,因此车祸在大多数人一生中都有机会遇上数次,而
  • 陈宰均陈宰均(1897年3月7日-1934年8月15日),中国畜牧学家、营养学家,浙江杭州人。他在中国最早进行维生素和动物营养试验。1929年在北平大学农学院成立了动物营养实验室,通过动物试验进
  • 南澳州南澳大利亚(英语:South Australia,缩写为SA),简称南澳,位于澳大利亚中南部,与澳大利亚大陆的其余四州及北领地接壤,是澳大利亚联邦的一州,其下划分为69个地方政府区域。南澳大利亚南
  • 麦耶米歇尔·居斯塔夫·爱德华·马约尔(法语:Michel Gustave Édouard Mayor,1942年1月12日-),瑞士天文学家,任教于日内瓦大学天文学系,已于2007年退休,但仍以荣誉退休教授身份持续进行研
  • 捷克克鲁姆洛夫捷克克鲁姆洛夫(捷克语:Český Krumlov,德语:Krumau an der Moldau或Böhmisch Krumau,德文原名为莫尔道河畔的克鲁毛或者波西米亚的克鲁毛)是捷克共和国的一个小城镇,亦作切斯基
  • 莱克伍德市莱克伍德 (Lakewood, Colorado)是美国科罗拉多州的一个城市,位于州府丹佛西南。行政上属于杰佛逊县。面积110.0平方公里,2006年人口140,024人,是该州第四大城市。1969年设市。历
  • 锈斑豹猫(P. rubiginosus)锈斑豹猫(学名:Prionailurus rubiginosus),或简称锈斑猫,是一种体型非常小的野外猫科动物,分布在印度南部及斯里兰卡。锈斑豹猫体长35-48厘米,尾巴长15-25厘米,重约1.5公斤。由于雌猫
  • 上法兰西大区上法兰西大区(法语:Hauts-de-France)为法国大区,是根据2014年大区重划,合并北部-加来海峡、皮卡第两个大区,2016年1月1日起生效。(法文:Nord-Pas-de-Calais)原是法国北部一个大区的名