抽象化 (计算机科学)

✍ dations ◷ 2025-11-14 08:41:09 #计算机科学,数据管理,编程典范

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

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

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

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

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

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

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

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

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

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

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

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

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

相关

  • 针灸针灸是针法和灸法的合体。中医学中采用针刺或火灸人体穴位来治疗疾病,是联合国教科文组织认定的人类非物质文化遗产代表作。根据中医学理论,通过刺激穴位可以改善经络中的气的
  • 骨髓检查骨髓检查 (英语:Bone marrow examination),指以穿刺(日语:穿刺)骨髓的方式取得骨髓液(骨髓血)——这一步称为骨髓穿刺(英语:Bone marrow aspiration),取得收集的骨髓液可用于骨髓活检(英语
  • cellCell微处理器架构(Cell Broadband Engine Architecture,通常简称Cell BE或CBEA)由索尼、索尼电脑娱乐、东芝、国际商业机器(IBM)公司联合开发。它是以RISC指令体系的Power架构为
  • 艾尔弗·斯隆基金艾尔弗·斯隆基金(英语:Alfred P. Sloan Foundation)是一个慈善非牟利组织,于1934年由当时身任通用汽车公司总裁兼董事长的艾尔弗雷德·斯隆于美国创立。这个基金致力于资助各种
  • 快乐2004《新年快乐2004》,又名《快乐2004》、《欢乐幸运草》,是一部贺岁中国电视剧,2004年于中国中央电视台首播,全3集,由Hebe、Selina、陈明真、满江、沙宝亮、金海心、黄安所演出。剧
  • 索拉诺索拉诺县(Solano County)是美国加利福尼亚州的一个县,位置大约在旧金山和萨克拉门托之间连线的中点上,是官方上的旧金山湾区九县之一,同样也是北湾四县之一 。该县县治费尔菲尔德
  • 丹内尔·马洛伊丹内尔·马洛伊(Dannel Malloy;1955年7月21日-)是美国政治人物。现任康涅狄格州州长、美国民主党州长协会主席。丹内尔·马洛伊的党籍是民主党。他在踏入政坛之前是一位律师。
  • 西蒙与舒斯特西蒙与舒斯特(英语:Simon & Schuster)是CBS集团旗下的公司,于1924年由理查德·西蒙和麦斯·林肯·舒斯特在纽约创立,是美国的六大出版商之一,与兰登书屋、企鹅出版集团等齐名。201
  • 塞格德塞格德(匈牙利语:Szeged;塞尔维亚语:Сегедин;德语:Szegedin;波兰语:Segedyn;罗马尼亚语:Seghedin;斯洛伐克语:Segedín)是匈牙利的第四大城市,琼格拉德州首府,匈牙利东南部的中心城
  • 三毒三毒(梵语:triviṣa,藏文:dug gsum),又称三不善根(梵语:akuśala-mūla,巴利语:akusala-mūla)、三根,佛教术语,为贪、嗔、痴三种烦恼的总称,在早期又译作“淫、怒、痴”。贪是贪爱五欲,嗔