抽象化 (计算机科学)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关

  • 曹楚南曹楚南(1930年8月15日-),江苏常熟人,腐蚀科学与电化学学家,中国科学院院士。曹楚南1948年考入同济大学化学系。1952年毕业后任职于中国科学院上海分院物理化学研究所。次年随研究
  • 西西里坐标:37°30′N 14°00′E / 37.500°N 14.000°E / 37.500; 14.000西西里(意大利语:Sicilia ,)是意大利南部的一个自治区。西西里占地25,708平方公里,人口数为500万,是意大利最大
  • 2009世界运动会第八届世界运动会(简称2009高雄世运,英语:The World Games 2009),于2009年7月16日至26日在中华民国台湾高雄市举行,是首次在台湾举办的国际性大型综合运动会,亦是第二次在亚洲举办
  • 紫外紫外线(英语:Ultraviolet,简称为UV),为波长在10nm至400nm之间的电磁波,波长比可见光短,但比X射线长。太阳光中含有部分的紫外线,电弧、水银灯、黑光灯也会发出紫外线。虽然紫外线不
  • 孙穗英孙穗英(1922年1月16日-),美国籍华人,生于上海,是中华民国国父孙中山先生的孙女,其儿子孙科的大女儿。美国卫里斯莱大学毕业,现定居美国。孙穗英1922年1月生于上海,毕业于美国卫里斯莱
  • 12猛汉《12勇士》(英语:12 Strong,或称作12 Strong: The Declassified True Story of the Horse Soldiers)是一部2018年美国战争片,由尼可莱·弗格席(英语:Nicolai Fuglsig)执导,同时也是弗
  • 洮安白城市是中华人民共和国吉林省下辖的地级市,简称洮,位于吉林省西北部松嫩平原,科尔沁草原东部,吉林、黑龙江和内蒙古自治区三省(区)交界处。商周至秦时期为东胡游牧之地。汉、南北
  • 1832年
  • 大猴面包树大猴面包树(学名:),是马达加斯加六种猴面包树属植物中最大者,它原产于此岛,现由于农地扩张而受到威胁。马达加斯加的旅游胜地猴面包树大道就是由大猴面包树林构成的。其种加词来自
  • 模拟城市 (2013年游戏)《模拟城市》(英语:SimCity),是于2013年发行的城市建造电脑游戏,一般玩家为方便区分称之为模拟城市5。由艺电的子公司Maxis开发。这是艺电第6个,也是第5个由Maxis制作的《模拟城市