抽象化 (计算机科学)

✍ dations ◷ 2025-12-06 05:51:31 #计算机科学,数据管理,编程典范

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

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

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

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

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

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

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

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

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

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

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

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

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

相关

  • 腹膜透析腹膜透析(法语:La dialyse péritonéale, DP; 英语:Peritoneal dialysis、PD)是在腹腔注入透析溶液,利用体内的腹膜过滤,清除血液中新陈代谢的废物及多余水分,俗称“洗肚”,是除血
  • 肾皮质肾皮质(Renal cortex)是肾的外层部分,介于肾鞘膜和肾髓质的中间部分。成人的肾皮质形成连续的光华的外层区域,其间有一些突起肾柱(renal column),延伸至肾锥体(renal pyramid)。它包
  • 超音速燃烧冲压发动机超音速燃烧冲压发动机(英语:Supersonic combustion Ramjet,缩写为Scramjet,中文简称超燃冲压发动机)是一种进气流速超过音速的航空用冲压发动机,属进气式喷气发动机的一类。超音速
  • 约翰·昆西·亚当斯约翰·昆西·亚当斯(John Quincy Adams,1767年7月11日-1848年2月23日),美国政治家,美国第六任总统(1825年-1829年),他还担任过外交官,参议员和众议院议员。他是第二任总统约翰·亚当斯
  • 波诺博诺,KBE(Bono,1960年5月10日-),本名保罗·大卫·休森(Paul David Hewson),爱尔兰摇滚乐队U2的主唱兼旋律吉他手,乐队大多数歌词皆出自博诺之手,而且擅用歌词表达对政治、时局、社会的
  • 章京章京(满语:ᠵᠠᠩᡤᡳᠨ,穆麟德:janggin,太清:janggin,大词典:zhanggin,蒙古语:Занги),清朝武官的一种,另外四品文书官员也称“章京”。“章京”一词来自满语“janggin”,而满语“jan
  • 雷德河红河可以指:
  • 布洛芬布洛芬(英语:Ibuprofen,商品名:芬必得、普罗芬),是一种非类固醇消炎药(NSAID),用来止痛,退烧和消炎。可用于治疗经痛、偏头痛,和类风湿性关节炎。大约60%的人在使用任意一种NSAID后症状
  • 外交部长新西兰外交部长(Minister of Foreign Affairs (New Zealand)) 是新西兰政府的高级成员之一。 外交部长负责外交和贸易部,负责新西兰对外关系。目前外交部长是 温斯顿·彼特
  • 阿发师阿发师(1969年9月26日-),本名施建发,台湾厨师,青青餐厅专任主厨。