编程语言
在程序设计中,高级语言是对机器指令序列的抽象。高级语言的出现,使得程序的编写得以简化,极大提高了程序的编写效率。随着软件技术的发展,组件技术进一步提升了程序抽象的级别。
另一种可取的替代方法是设计一种语言机制,允许程序师在需要的时候构建自己的抽象方法。一个通用的机制是使用过程(procedure)。通过分离过程的定义和规则,编程语言包含了两种重要的抽象方法:参数化抽象(abstraction by parameterization)和规范化抽象(abstraction by specification)。其中:
参数化抽象是用参数替换数据特征来进行抽象。这样能够归纳出模块,从而使其可以用于更多的情况。例如,可以定义一个排序抽象,既能够实现对实数数组的排序,又能够实现对整型数组的排序,或者甚至对数组类型这类一般结构都有用。
规范化抽象是将运行细节(即模块如何实现)抽象为用户所需求的行为(即模块做什么)。这是从具体实现中抽象出模块,需要的仅仅是模块的实现能够符合我们所依赖的表述形式。每当将一个过程与一个注释(这个注释提供了充分的信息,是其他人不用看过程主体就能使用该过程)关系起来,我们就会使用规范化抽象。
程序设计中,抽象类别包括下列4类:
1:过程抽象:能够引入一些新的操作;
2:数据抽象:能够引入新的数据对象类型;
3:反复运算抽象:能够反复运算遍历在集合中的元素,而不必显示如何获得元素的细节;
4:类型层次:能够从多个单独的数据类型中抽象成几组相关的类型。
参考文献
Barbara Liskov, John Guttag著,裘健译.程序开发原理:抽象、规格与面向对象设计.北京:电子工业出版社,2006年10月:第3-5页。