抽象化 (计算机科学)

✍ dations ◷ 2025-11-26 08:05:22 #计算机科学,数据管理,编程典范

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

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

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

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

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

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

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

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

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

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

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

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

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

相关

  • 诺曼征服诺曼人征服(Norman conquest)或诺曼人征服英格兰(法语:Conquête normande de l'Angleterre)指1066年法国诺曼底公爵威廉对英格兰的入侵及征服。这次征服改变了英格兰的走向,从此
  • Open Directory Project开放目录项目(英语:Open Directory Project,又称Directory of Mozilla,简称DMOZ),是网景(Netscape)所主持的一项大型公共网页目录。它是由来自世界各地志愿者共同维护与建设的全球最
  • 医学物理医学物理 是一种应用物理于医学的物理学分支, 大致上分为医学影像和放射治疗。 通常医学物理部门会附属于医院或大学内,其负责的工作包括:提供放射科医生的医疗咨商、在医学物
  • 玉米油粟米油,又称玉米胚芽油(简称玉米油),是从玉米的胚芽中提炼的植物油,含有丰富的不饱和脂肪酸(以油酸和亚油酸为主)、维生素E及多酚类物质;不含胆固醇。冒烟点比较其他的食油低,不适合
  • 阿胶阿胶(拼音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Code2000","Gentium","Gentium Alternativ
  • 平南平南县是中国广西壮族自治区贵港市所辖的一个县。总面积为2988平方公里,2013年人口为140多万。清光绪《平南县志》卷一载胡南藩《重修南平县志叙》称:“晋陶侃平交南,执刘沈于
  • 延平街古井坐标:23°00′03″N 120°09′42″E / 23.000713°N 120.161537°E / 23.000713; 120.1615371634年左右或 清咸丰年间(1851年-1861年)延平街古井位于台南市安平区,是直辖市定古
  • 沙特阿拉伯国际广播电台沙特广播公司(阿拉伯语:المملكة العربية السعودية هيئة الإذاعة والتلفزيون‎,英语:Saudi Broadcasting Corporation,简称SBC),旧称沙
  • 灵长类学动物学 人类学 · 人与动物关系学 蜜蜂学 · 节肢动物学 医学节肢动物学 · 鲸类学 贝类学 · 昆虫学 动物行为学 · 蠕虫学 两栖爬行动物学 · 鱼类学 软体动物学 · 哺乳
  • 士族 (中国)士族,又称世族,是中国历史上东汉至唐代,世代为官的士大夫阶层,是一种贵族化的官僚家族。宋代及以后,“士族”一词含义有所改变,士人取得官位后就是士族、士大夫,已没有世袭的意味。