抽象化 (计算机科学)

✍ dations ◷ 2025-12-07 13:13:20 #计算机科学,数据管理,编程典范

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

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

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

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

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

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

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

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

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

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

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

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

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

相关

  • 碳头孢烯碳头孢烯(英语:Carbacephems)是一类合成的头孢菌素类抗生素,和头孢烯结构上类似,不过5号位置由亚甲基取代了原来的硫原子。碳头孢烯类抗生素通过抑制细胞壁合成来抑制细菌。羧基
  • Sirius可视化软件Sirius可视化软件(简称Sirius)是圣地亚哥超级计算机中心(San Diego Supercomputer Center)所开发的一个分子建模与分析系统。Sirius设计旨在支持除简单显示小分子和蛋白质的之外
  • 人亚族人亚族(拉丁语:Hominina)是人亚科(Homininae)人族(Hominini)之下的一个亚族,现时有七个属,当中只有人属(Homo)尚未灭绝,其中包含了现代人类。其他已灭绝的六个属分别如下:
  • 拉惹勒南拉惹勒南(Sinnathamby Rajaratnam,1915年2月25日-2006年2月22日)是新加坡的前副总理和高级部长。拉惹勒南从1959年至1988年也是一名新加坡国会议员。拉惹勒南被视为新加坡国父之
  • 吉威蒂诺圭·佩修吉威蒂诺圭·帕卡娃库克·佩修(英语:Keewaydinoquay Pakawakuk Peschel,1919年-1999年7月21日),学者、民族植物学家、草药医师、女巫医、教师与作家。阿尼士纳阿比族鹤氏族的长老
  • 无限面体无限面体(英语:Apeirohedron),是多面体的一种,意指有无限个面、无限条边和无限个顶点的多面体。一般是指所有的平面密铺的集合。在欧几里得几何中,无限面体是一个退化多面体,其面数
  • 滨江区滨江区,全称杭州高新(滨江)技术产业开发区,是中华人民共和国浙江省杭州市的一个市辖区,辖区包括钱塘江以南、钱江一桥以东沿江的西兴、长河、浦沿三个街道,北与杭州主城上城区和江
  • 罗马尼亚的匈牙利人匈牙利人是罗马尼亚国内最大的少数族裔。据2011年人口普查,罗马尼亚国内有1,227,623名匈牙利人,占罗马尼亚总人口的6.5%。罗马尼亚国内的匈牙利人主要分布在特兰西瓦尼亚地区,
  • 埋弧焊埋弧焊是指电弧在焊剂层下燃烧进行焊接的方法,为电弧焊的一种。埋弧焊的特点是在电弧效应的作用下,焊料、焊剂和焊件被熔化形成的一层由熔渣和气体组成的保护膜,对焊接区起到隔
  • 水马 (路障)水马(英语:Water-Safety Barriers、Water-filled Barrier、Plastic traffic barrier、water-barrier、plastic water buffer或Water Protect Hurdle),或称灌水式活动隔(护)栏,多以