抽象化 (计算机科学)

✍ dations ◷ 2025-12-08 14:46:08 #计算机科学,数据管理,编程典范

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

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

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

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

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

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

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

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

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

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

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

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

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

相关

  • 意大利国家航空航天局意大利航天局(意大利语:Agenzia Spaziale Italiana,缩写:ASI)是意大利政府于1988年为了对空间探索的资金运用、管理和协调而成立的空间机构。意大利航天局是意大利教育大学研究部
  • 三轮三轮车可能是指:
  • 埃及法老列表这是一份古埃及统治者的列表。该表中列出的君主始自约前31世纪的第一王朝,结束于希腊人建立的托勒密王朝。这段时期中埃及的最高君主的称号是人们熟知的法老。在使用此表时,请
  • 乔其纱乔其纱,又称乔其绉,一种丝织物,以强捻绉为经、绉为纬织造。乔其纱为法语“georgette”的音译。乔其纱质地轻薄,富有弹性,具有良好的透气性。根据乔其纱所用原料,可分为真丝乔其纱
  • 基特加基特加是东部非洲国家布隆迪首都,也是基特加省的省会,位于原首都布琼布拉以东,海拔高度1,504米,布隆迪国家博物馆位于该市,2005年人口46,900,是该国第二大城市。2018年12月22日,布
  • 猫家话猫家话("Maojiahua"或"Au-ka")是中国苗族的一种语言。它被中国湖南省西部的邵阳地区和怀化地区,以及广西壮族自治区北部部分地区的青衣苗族使用。使用人口大多集中于湖南的城步
  • 哈 山哈山(1633年 - 1719年),富察氏,满洲镶红旗,清朝政治人物、清朝刑部尚书。曾任吏部左侍郎。康熙五十年十一月丙戌,接替齐世武,担任清朝刑部尚书,后革。由赖都接任。
  • 慕尼黑惨案慕尼黑惨案是于1972年9月5日于第二十届夏季奥运会举办期间发生在西德慕尼黑的一次恐怖事件,策划者是巴勒斯坦武装组织黑色九月,袭击对象是参加奥运会的以色列代表团,结果在营救
  • 瓠果瓠果是果实的一种类型,属于单果,是葫芦科植物特有的果实类型。瓠果由子房下位的三心皮合生雌蕊发育而来,形成果实的除了子房还有花萼,因此瓠果是一种假果。瓠果的外果皮与花萼合
  • 蓬莱神话蓬莱山,又称为蓬莱、蓬山、蓬丘、蓬壶、蓬莱仙岛等。传说渤海中有三座神山:蓬莱、瀛洲、方丈,为神仙居住的地方,自古便是秦始皇、汉武帝求仙访药之处,其上物色皆白,黄金白银为宫阙