抽象化 (计算机科学)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关

  • 肺泡巨噬细胞肺泡巨噬细胞(英语:Alveolar macrophage),是存在于肺间质的特殊巨噬细胞,由迁移到肺的吞噬细胞发育而成,属于单核吞噬细胞系统的一部分。可参与吞噬和清除外来的尘粒或病原并进行
  • 意大利电信集团意大利电信(意大利语:Telecom Italia)是意大利的电信公司,总部位于罗马。提供电话服务,移动通信服务和DSL数据服务。该公司成立于1994年,由数家国有电信公司合并而成,其中最重要的
  • 沃尔什滕沃尔什滕(波兰语:Wolsztyn)是位于波兰大波兰省中央的一个镇。坐标:52°07′N 16°07′E / 52.117°N 16.117°E / 52.117; 16.117
  • 荚状卷积云荚状卷积云(学名:Cirrocumulus lenticularis,缩写: Cc len ),是卷积云的一种。荚状卷积云由片状的、形似透镜或杏仁的云组成。云体通常被拉得很长,且有清晰可辨的轮廓。云体在一定
  • γ-羟基丁酸钠γ-羟基丁酸钠是一种羧酸盐,结构式为HOCH2CH2CH2COONa,它是吸湿性的白色晶体粉末,味咸,易溶于水。在酸性条件下转化为γ-羟基丁酸。γ-羟基丁酸钠可由氢氧化钠和γ-丁内酯反应得
  • 太监太监是中国古代官名,文言文书写时亦可写作大监。最早出现于北魏,为女官称号。唐代时为外朝官职大监的别称。宋代为高级女官职称,辽代是政府高级职位的名称。至明朝时,由于太监职
  • 达卡市达卡(孟加拉语:ঢাকা),是孟加拉国首都,达卡专区首府。达卡坐落于恒河三角洲布里甘加河北岸,是孟加拉国最大的城市,也是南亚主要城市之一,其都会区有1200多万人口。达卡有着丰富的
  • 竹市雅俊竹市雅俊(日语:竹市 雅俊/たけいち まさとし Takeichi Masatoshi ?,1943年11月27日-),日本细胞生物学者、胚胎学者,美国国家科学院外籍院士,日本学士院会员。现任理化学研究所多细
  • 买方寡头垄断买方寡头垄断(希腊文:ὀλίγοι;英文:Oligopsony),又称买方寡占、寡头买主垄断、商品采购垄断、少数买主垄断,微观经济学中的一类市场形式,通常一个市场中只有少数几个买家,而卖家
  • 2015年俄罗斯羽毛球大奖赛2015年俄罗斯羽毛球大奖赛为第2015年度的俄罗斯羽毛球公开赛,是2015年世界羽联大奖赛的其中一站。本届赛事于2015年7月21日至7月26日在俄罗斯滨海边疆区首府海参崴的Sports H