正在加载图片...
面向对象软件工程实践指南 现实问题空间 面向对象解空间 I 物质 对象 意识 类 图1-3从现实问题到对象解空间映射 从软件技术角度来讲,面向对象方法起源于信息隐蔽和抽象数据类型概念,它以对象 作为基本单位,把系统中所有资源,如数据、模块以及系统都看成对象,每个对象把一组数 据和一组过程封装在一起。面向对象方法是面向对象技术在软件工程的全面应用。如图1-3 所示,面向对象方法从现实世界中的问题域直接抽象,确定对象,根据对象的特性抽象,用 类来描述相同属性的对象,而类又分成不同的抽象层次,类成为面向对象设计的最基本模块, 它封装了描述该类的数据和操作,数据描述了对象具体的状态,而操作确定了对象的行为。 1.4.1面向对象方法学的起源 面向对象方法学的发展历史大致可以划分为四个阶段。 (1)萌芽阶段(20世纪50年代) 在20世纪50年代初,面向对象方法中的“对象”,“属性”等概念第一次出现在关于 人工智能的著作中。到50年代后期,随着面向对象的编程语言(Object--Oriented Programming Language,OOPL)的出现,面向对象的思想开始真正的蓬勃发展。为了避免变量名在不同部 分发生冲突,ALGOL语言的设计者在ALGOL60中采用了以"Begin…End"为标识的程序 块,使得块内变量名是局部的,从而避免它们与程序中块外的同名变量相冲突。这是编程语 言中首次提供封装的尝试。此后程序块结构广泛用于高级语言如Pascal、Ada、C之中。 (2)初期阶段(20世纪60年代) 20世纪60年代中期,由挪威计算中心和奥斯陆大学共同研制的Simula语言,在ALGOL 基础上,首次引入了类、继承和对象等概念,成为面向对象方法学在软件工程领域的起源标 志。在Simula67影响下,70年代Xerox PARC研究所发明了以类为核心概念的Smalltalk编 程语言。在Smalltalk中,对象和消息广泛地应用在了基础的运算中,而且相比Simula67, Smalltalk中的对象是动态的,而并非Simula中的静态对象。在Smalltalk之后,在1980年, Xerox研究中心又推出Smalltalk-80系统,强调了对象概念的统一,并引入了方法、实例等 概念和术语,应用了单重继承机制和动态链接。它从界面、环境、工具、语言以及软件可重 用等方面对软件开发工作提供了较为全面的支持,使得面向对象程序设计趋于完善,掀起了 9面向对象软件工程实践指南 9 图 1-3 从现实问题到对象解空间映射 从软件技术角度来讲,面向对象方法起源于信息隐蔽和抽象数据类型概念,它以对象 作为基本单位,把系统中所有资源,如数据、模块以及系统都看成对象,每个对象把一组数 据和一组过程封装在一起。面向对象方法是面向对象技术在软件工程的全面应用。如图 1-3 所示,面向对象方法从现实世界中的问题域直接抽象,确定对象,根据对象的特性抽象,用 类来描述相同属性的对象,而类又分成不同的抽象层次,类成为面向对象设计的最基本模块, 它封装了描述该类的数据和操作,数据描述了对象具体的状态,而操作确定了对象的行为。 1.4.1 面向对象方法学的起源 面向对象方法学的发展历史大致可以划分为四个阶段。 (1)萌芽阶段(20 世纪 50 年代) 在 20 世纪 50 年代初,面向对象方法中的“对象”,“属性”等概念第一次出现在关于 人工智能的著作中。到 50 年代后期,随着面向对象的编程语言(Object-Oriented Programming Language, OOPL)的出现,面向对象的思想开始真正的蓬勃发展。为了避免变量名在不同部 分发生冲突,ALGOL 语言的设计者在 ALGOL60 中采用了以"Begin……End"为标识的程序 块,使得块内变量名是局部的,从而避免它们与程序中块外的同名变量相冲突。这是编程语 言中首次提供封装的尝试。此后程序块结构广泛用于高级语言如 Pascal 、Ada、C 之中。 (2) 初期阶段(20 世纪 60 年代) 20 世纪 60 年代中期,由挪威计算中心和奥斯陆大学共同研制的 Simula 语言,在 ALGOL 基础上,首次引入了类、继承和对象等概念,成为面向对象方法学在软件工程领域的起源标 志。在 Simula67 影响下,70 年代 Xerox PARC 研究所发明了以类为核心概念的 Smalltalk 编 程语言。在 Smalltalk 中,对象和消息广泛地应用在了基础的运算中,而且相比 Simula67, Smalltalk 中的对象是动态的,而并非 Simula 中的静态对象。在 Smalltalk 之后,在 1980 年, Xerox 研究中心又推出 Smalltalk-80 系统,强调了对象概念的统一,并引入了方法、实例等 概念和术语,应用了单重继承机制和动态链接。它从界面、环境、工具、语言以及软件可重 用等方面对软件开发工作提供了较为全面的支持,使得面向对象程序设计趋于完善,掀起了
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有