抽象化 (计算机科学)

✍ dations ◷ 2025-11-27 15:50:51 #计算机科学,数据管理,编程典范

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

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

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

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

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

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

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

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

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

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

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

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

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

相关

  • 中国科学院武汉病毒研究所中国科学院武汉病毒研究所建于1956年,是从事病毒学基础研究及相关技术创新的综合性研究机构。同时拥有p4生物实验室。截止2016年12月,研究所共有在职职工266人(科研岗位189人);在
  • 聚落聚落,为人民聚居的地方,约分为“都市聚落”(城市)和“乡村聚落”(村落)。聚落多用作人类社会的早期进入定居生活以后,集中居住的区域。考古学上常指早期人类集中居住地域。部落,为部
  • 德国海军德国联邦国防军海军(德语:Deutsche Marine)是德意志联邦共和国的海军部队。德国海军的历史可追溯至德意志统一前。最早作为独立战斗单位出现的是普鲁士海军,随后成为北德意志邦
  • 弗雷德里克·巴特莱特弗雷德里克·巴特莱特爵士(英语:Sir Frederic Charles Bartlett,1886年10月20日-1969年9月30日),英国心理学家,剑桥大学实验心理学教授(从1931年到1951年退休)。1944 年,他和肯尼思·
  • 环庚烷环庚烷(化学式:C7H14),又名软木烷,是七个碳的环烷烃。一般情况下为无色油状液体,不溶于水,但可以与醇、醚、苯等有机溶剂混溶。易燃,其蒸气可以与空气形成爆炸性混合物,遇热源和明火
  • 伏尔塔瓦河伏尔塔瓦河(捷克语:Vltava),又称莫尔道河(德语:Moldau,有时也被误译为莫尔岛河),是捷克最长的河流。它发源于波希米亚森林,自南向北流经南波希米亚州、中波希米亚州和首都布拉格,在梅尔
  • 西塔科西塔科(SeaTac)是美国华盛顿州金县的一座位于西雅图郊区的城市,它得名于座落于市内的西雅图-塔科马国际机场,即“Seattle”和“Tacoma”的混合。根据美国人口调查局2000年统计,西
  • 夏威夷州州旗夏威夷州州旗(夏威夷语:Ka Hae Hawaiʻi;英语:Flag of Hawaiʻi)经历了王国、保护国、共和国、领地,以及夏威夷州五个不同政治体制,是美国各州旗帜独有的。另外本旗亦是美国州旗中
  • 查瓦卡诺语查瓦卡诺语是以西班牙语为基础的菲律宾克里奥尔语。用于菲律宾的南三宝颜,北三宝颜,巴西兰,甲米地,特尔纳特,哥打巴托,北拉瑙,南拉瑙等地区。
  • 1977年夏季世界大学生运动会第九届夏季世界大学生运动会于1977年8月17日至8月28日在保加利亚索菲亚举行,这是索菲亚第二次主办夏季世界大学生运动会,共有78个国家和地区的2,939名运动员参加。 *  主办