抽象化 (计算机科学)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关

  • 新石器时代新石器时代(Neolithic),在考古学上是石器时代的最后一个阶段,以磨制石器和制作陶器为主,大约从1万年前开始,结束时间从距今10000多年至2000多年不等。不过,在有些地区,如中美洲,在西
  • 类金属类金属(英语:Metalloid)是一个用来分类化学元素的化学名词。基于它们的物理与化学特性,几乎所有元素周期表上的化学元素都可被分类为金属或非金属;但也有一些特性介于金属与非金
  • 发育自人体解剖学 - 人体生理学 组织学 - 胚胎学 人体寄生虫学 - 免疫学 病理学 - 病理生理学 细胞学 - 营养学 流行病学 - 药理学 - 毒理学胚胎学(英语:Embryology)是研究活着的有
  • 右锁骨下动脉在人体解剖学里,锁骨下动脉(Subclavian artery)是上胸部的成对主要动脉,位于锁骨下方。它们从主动脉弓接受血液。左锁骨下动脉向左臂供血,右锁骨下动脉向右臂供血,一些分支供应头
  • 专属经济区专属经济区(英语:exclusive economic zone,缩写为EEZ),又称经济海域,是指国际海洋法中为解决国家或地区之间的因海域争端而提出的一个区域概念。专属经济区是指领海以外并邻接领海
  • 双猫双猫,家纺品牌,由华润集团旗下上海华润世纪家纺有限公司持有。双猫的起源可追溯到1960年代,由原国营常熟被单厂创立。双猫产品以床被单为主,在苏浙沪一带享有较高知名度,曾获得国
  • 自杀预防自杀预防(Suicide prevention)是个雨伞术语,是指区域性公民组织、医疗专业(英语:health professional)人士以及其他相关领域的专业人士为了减少自杀发生率而做的各种努力。除了直
  • span class=nowrapAgF/span氟化银,也称作氟化银(I),是银(I)的氟化物,化学式为AgF。它是黄棕色固体,熔点435°C,暴露于潮湿空气时变黑。与其他卤化银不同,氟化银可溶于水,溶解度为172g/100g,也可溶于乙腈。AgF
  • 王志国王志国可以指:
  • 钉螺属见内文钉螺泛指所有钉螺属(学名:)的物种,是一种在田间生活的腹足纲软体动物。钉螺属曾经属于觿螺科(Hydrobiidae)及麂眼螺总科,今属截螺总科盖螺科。钉螺外壳小,呈圆锥形,有螺层7个左