抽象化 (计算机科学)

✍ dations ◷ 2025-05-11 10:09:56 #计算机科学,数据管理,编程典范

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

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

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

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

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

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

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

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

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

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

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

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

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

相关

  • 子宫颈炎宫颈炎(英语:Cervicitis),是一种女性子宫颈的炎症。它多因性传播疾病感染造成,常见病原体为淋病奈瑟双球菌、沙眼衣原体。也可因宫颈手术操作后造成的宫颈损伤,使病原体得以进入损
  • 濒死经验濒死经验或临死经验是一种在接近死亡时一些人所经历的现象。这些现象包括灵魂出体、看见天堂或地狱、看见亲人、看见宗教人物或上帝、回顾一生的生活、极度的恐惧、完全的平
  • 蓖麻油蓖麻油(“蓖”,拼音:bì,注音:ㄅㄧˋ,粤拼:bei6,音同“避”)是由蓖麻种子提炼而来的植物油,CAS号为8001-79-4,常温下为液体状。蓖麻油是一种复合三酸甘油酯,主要成分为蓖麻子油酸(Ricinol
  • 美国食品药品监督局美国食品药品监督管理局(英语:U.S. Food and Drug Administration,缩写为FDA)为美国卫生与公众服务部直辖的联邦政府机构,其主要职能为负责对美国国内生产及进口的食品、膳食补充
  • Donna Strickland唐娜·西奥·斯特里克兰(英语:Donna Theo Strickland,1959年5月27日-),加拿大物理学家,是滑铁卢大学物理及天文学院的副教授,也是激光物理领域的先驱。她于2018年获得诺贝尔物理学奖
  • 确认偏误确认偏误(或称确认偏差、证实偏差、肯证偏误、验证偏误、验证性偏见、我方偏见,英语:Confirmation bias)是个人选择性地回忆、搜集有利细节,忽略不利或矛盾的资讯,来支持自己已有
  • 曹靖华曹靖华(1897年8月11日-1987年9月8日),原名曹联亚,河南卢氏人,中国翻译家、散文家、教育家,北京大学教授。曹靖华是河南卢氏县五里川路沟口村人。1919年在开封省立第二中学求学时,投
  • 下酒小吃下酒小吃又称佐酒小吃,一般指喝酒时食用的小菜或小吃,古称酒肴、肴(保留在现代日语)、按酒(保留在现代韩语)。熟食则可称为下酒菜之意。一般用来调节喝酒时的口感,很少当主食作裹腹
  • 大学文档系统大学文档系统(Système Universitaire de Documentation,简称SUDOC)是法国高等教育机构图书馆所使用的图书系统。该系统收录了法国大专院校、研究型图书馆及资源中心的联合目录
  • 安东尼·阿贝提安东尼·阿贝提 (意大利语:Antonio Abetti ,1846年6月19日-1928年2月20日) 是一名意大利天文学家。他出生在圣彼得教堂戈里齐亚(英语:San Pietro di Gorizia),在帕多瓦大学获得了数学