抽象化 (计算机科学)

✍ dations ◷ 2025-12-03 15:38:38 #计算机科学,数据管理,编程典范

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

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

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

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

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

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

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

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

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

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

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

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

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

相关

  • 恶性上皮细胞肿瘤癌(Carcinoma),有翻译为恶性上皮细胞肿瘤,是癌症的一种。在医学上专指由上皮组织来源的恶性肿瘤,其它由结缔组织来源的恶性肿瘤只称作恶性肿瘤,如:肌肉或骨骼的恶性肉瘤(Sarcoma)、黑
  • 胞饮作用胞饮作用(英语:pinocytosis)是细胞内吞作用从外界获取物质及液体的一种类型,是细胞外的微粒通过细胞膜的内陷包裹形成小囊泡(胞饮囊泡),并最终和溶酶体相结合并将囊泡内部的物质水
  • 液化液化指物质由气态转变为液态的过程。气体液化后体积会变成原来的几千分之一,同时放出大量的热,不同的气体具有不同温度和压强的液化临界点,因此加压的同时必须冷却以吸收热。有
  • 多米尼克·拉布多米尼克·伦尼·拉布(英语:Dominic Rennie Raab,1974年2月25日-)是一位英国政治人物,保守党党员、前事务律师、代表伊舍和沃尔顿选区的下议院议员,现任第一国务大臣、外交及联邦事
  • 币斑病菌币斑病,在刈割较低的冷地型草的果岭上会出现小的圆形币斑,这些斑点会逐渐凹陷。币斑病一般是很小的枯点或者是直径小于5厘米的圆形枯斑。这些小的圆斑在病情严重时也可能会凝
  • 甘油酯甘油酯也称为酰基甘油,是甘油和脂肪酸形成的酯类。甘油有三个羟基官能基,可以和一个、二个及三个脂肪酸进行酯化反应,形成的甘油酯分别是单酸甘油酯(英语:Monoglyceride)、二酸甘
  • fossilFossil是一个分布式版本控制系统、缺陷跟踪管理系统以及在软件开发中使用的wiki软件服务器,它由D.理查德·希普(英语:D. Richard Hipp)创建。Fossil是一个跨平台(英语:Cross-platf
  • 琳赛·萝涵林赛·摩根·罗韩(英语:Lindsay Morgan Lohan,发音: /ˈloʊ.ən/,生名:Lindsay Dee Lohan,1986年7月2日-)是一位美国女演员、模特和录音艺术家。她3岁时作为儿童时尚模特开始了自己
  • 吴鸾旗墓园吴鸾旗墓园(又称吴家花园),位于台中市太平区在太平车笼埔冬瓜山,是台湾日治时期大正十一年(1922年)由吴鸾旗嗣子吴东碧所建造的西式坟墓。吴家各代先祖及元配,吴景春、吴鸾旗、吴东
  • 吉阿吉阿语吉阿吉阿语,或称西布顿语属于南岛语系,主要使用于靠近于印尼苏拉威西岛东南海岸旁之布顿岛南端巴务巴务市周边。至2009年大约有六万人仍在使用吉阿吉阿语。说吉阿吉阿语的人、