抽象化 (计算机科学)

✍ dations ◷ 2025-06-29 06:18:16 #计算机科学,数据管理,编程典范

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

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

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

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

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

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

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

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

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

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

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

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

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

相关

  • 口器口器(Arthropod mouthparts),位于节肢动物口两侧的器官,有摄取食物及感觉等作用。昆虫口器由头部后面的3对附肢和一部分头部结构联合组成,主要有摄食、感觉等功能。蛛形纲口器包
  • .de.de是德国国家和地区顶级域(ccTLD)的域名,由位于多特蒙德大学的德国互联网信息中心(Deutsches Network Information Center,DENIC)负责管理,.de下的所有域名都要在DENIC登记造册。.
  • 中华恐龙园中华恐龙园,覆盖面积约600亩,位于江苏省常州市国家高新区(新北区),是集科普、娱乐、教育和休闲于一体,以恐龙为主题的综合性游乐园。享有“东方侏罗纪公园”的名誉。
  • Attenborough, David大卫·弗雷德里克·阿滕伯勒爵士OM CH CVO CBE FRS FZS FSA(英语:Society of Antiquaries of London)(英语:Sir David Frederick Attenborough,/ˈætənbərə/,1926年5月8日-),生于
  • 奥丁奥丁(古诺斯语:Óðinn,德语:Wotan,古英语/盎格鲁-撒克逊语:Wōden,阿勒曼尼语:Wuoden,伦巴底语:Gotan或Odan,法罗语:Ouvin,古高地德语:Wuotan(意为“狂暴者”),亦译作欧丁、奥汀、沃坦)是阿萨
  • 弓颌猪弓颌猪(学名Chleuastochoerus),又名肿面猪,是在中国甘肃省发现的中新世猪科动物。
  • 达拉斯县达拉斯县(Dallas County, Texas)是位于美国德克萨斯州东北部的一个县。面积909平方英里,根据美国人口调查局2005年数字,共有人口2,305,454人。县治达拉斯市(Dallas City)。成立于1
  • 斑臭鼬属西部斑臭鼬 Spilogale gracilis 东部斑臭鼬 Spilogale putorius 小斑臭鼬 Spilogale pygmaea Spilogale angustifrons斑臭鼬属(学名Spilogale),臭鼬科的一属,包括三到四种,分布于
  • 高雄代天宫高雄代天宫,俗称哈玛星代天宫、哈玛星代天府、哈玛星大庙,址在高雄市鼓山区鼓波街27号,前身为日治台湾高雄第一个市府所在地,其建筑雄伟庄严,内部雕梁画栋,出自名匠潘丽水大师精心
  • 亚琛战役(1944年-1945年)亚琛战役是指从1944年10月2日至21日发生在德国亚琛的一场战役。时间来到1944年9月,德意志国防军在法国被同盟国击溃后,已渐次地撤退至德国。在法国的战事中,德军指