抽象化 (计算机科学)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关

  • TDsub50/sub半数中毒量(median toxic dose,TD50)为毒理学名词,是指一药物或是毒素造成50%比例中毒的剂量。不过若要数值有意义或是可以用在实际应用上,需说明其中毒的种类。半数中毒量的剂量
  • 含氧酸含氧酸是由含氧酸根与其化合价相同的氢原子化合成的化合物。在含氧酸中,由同一元素生成的各种不同的酸,可按其中所含氧原子数多少,顺序冠以高、(正)、亚或次。其中最常见的酸定名
  • 中央高原法国中央高原 ,又译中央山地(法语:Massif Central、奥克语:Massís Central / Massís Centrau),位于法国中南部,为一火山高原。北为西欧平原,东界隆河,南为比利牛斯山脉。最高点为桑
  • 挪威峡湾马挪威峡湾马是发展自挪威的一个马品种。挪威峡湾马历史悠久,毛为暗褐色,尾巴浓密,四肢短而直,动作灵活,是一种多用途的马,维京人经常利用挪威峡湾马运货。
  • 奥莉加·拉德任斯卡娅奥莉加·亚历山德罗芙娜·拉德任斯卡娅(俄语:Óльга Алекса́ндровна Лады́женская,1922年3月7日-2004年1月12日),俄罗斯数学家。她主要对于偏微分
  • 阿波罗13号阿波罗13号(Apollo 13)是阿波罗计划中的第三次载人登月任务,于1970年4月执行。发射后两天,服务舱(英语:Service Module)的氧气罐爆炸,太空船严重毁损,失去大量氧气和电力;三位太空人使
  • 原行星原行星是在原行星盘内大小如同月球尺度的胚胎行星。它们应该是由公里尺度的微行星因彼此的重力相互吸引与碰撞而形成的。根据太阳星云形成的理论,原行星在轨道轻微的扰动下和
  • 阿马多尔阿马多尔县(Amador County)是美国一个位于加利福尼亚州内华达山脉的县,县治为杰克逊。根据美国人口调查局2010年统计,共有人口38091,其中白人占85.79%、非裔美国人占3.87%、印第
  • 门诺低地德语门诺低地德语 (Plautdietsch), 原本是东低地德语低普鲁士各的一支,曾受到荷兰语之影响,出现在第16世纪和17世纪普鲁士之维斯瓦河地区 (今日属波兰领土)。门诺低地德语现今主要分
  • 古雷兽古雷兽(学名:)是一属细少的雷兽。它们在美国怀俄明州的化石床上甚为普遍,主要都是一些化石牙齿。所有其下的物种中,以体型最大,差不多有貘般大小。其描述者约瑟夫·莱迪(Joseph Lei