面向对象方法综述

2008-04-09 04:08:38来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

摘要:在这篇文章中,首先回顾了面向对象方法的发展过程,然后对几种主要的OOA方法进行了比较;并介绍了面向对象方法当前的应用情况和主要研究领域。

关键词:面向对象, 面向对象编程,面向对象分析,面向对象设计

Summary of Object-oriented Method

Zhang Jing

(Key Laboratory of Computer Technology Application, Yun Nan Polytechnic University, Kunming 650051)

Abstract In this paper, we review the past and current situation of Object-oriented Method. We also compare with several OOA(Object-oriented Analysis) methods and introduce the newest and main research fields of Object-oriented technology .

Key words OO(Object-oriented), OOP(Object-oriented Programming),OOA(Object-oriented Analysis), OOD(Object-oriented Design)

随着80年代Smalltalk-80等一系列描述能力较强、执行效率较高的面向对象编程语言的出现,标志着面向对象的方法与技术开始走向实用。当时就有人曾经预言,面向对象(OO)将成为90年代计算机领域的主流技术,现在这个预言已经成为无可置疑的事实。人们对面向对象的研究重点,从面向对象的编程(OOP),转移到面向对象的分析与设计(OOA与OOD)。本文概述面向对象方法的发展过程,并对流行的几种主要OOA方法进行比较。最后,介绍面向对象方法当前主要研究领域。

一、 面向对象方法的产生与发展

面向对象方法起源于面向对象的编程语言,在编程语言这个领域,它的诞生与发展经历了下述主要阶段。

1、雏形阶段

面向对象方法的某些概念,如"对象"、"对象属性"等可以追溯到50年代的人工智能早期研究。但是人们一般把60年代由挪威计算中心开发的Simula67语言看作面向对象语言发展史上的第一个里程碑。对于Simula67是不是面向对象的语言,评论者意见不一,但共同的看法是它确实具有一些面向对象的重要特征,被称作面向对象语言的先驱。

70年代出现的CLU、并发Pascal、Ada和Modula-2等编程语言对抽象数据类型理论的发展起到了重要作用。这些语言支持数据与操作的封装。例如,Ada语言中的package和并发Pascal语言中的class和monitor,都是数据与操作的结合体并且支持信息隐蔽,已经是比较完善的封装概念。但这些语言都不支持继承,这是它们与面向对象语言的主要差距。

一般认为,继承和封装是面向对象的编程语言两个最主要的特征。上述语言各自从不同的侧面局部地引入了这些概念并提供支持机制,但是都不全面。此外,这一时期在与上述语言有关的文献中并没有把面向对象作为一种完整的、系统的方法论加以论述和倡导,只是后人在研究面向对象方法的发展史时从上述语言中找到了某些概念的渊源。因此这一时期面向对象只是处于萌芽状态和雏形阶段。

在稍晚于Simula67问世的时间,犹他大学的博士生Alan Kay为在个人计算机上开展图形学和模拟工作,设计了一个实验性的语言Flex。该语言从Simula67中借鉴了许多概念,如类、对象、继承等。由于当时软硬件条件的限制,Kay的尝试没有成功,但是他没有放弃自己的思想,在他加入Xerox公司Palo Alto研究中心(PARC)后继续进行了这一研究。

在PARC,Kay成为Dynabook项目组的成员,并成为该项目的软件Smalltalk的主要设计者。按照Kay在大学时的研究思路,吸收了Simula67中的类、对象、继承等概念,借鉴了CLU语言的抽象数据类型以及LISP语言的一些思路,并受到LOGO语言用"画笔"类描述海龟行为的启发,Kay和他的同事设计了Smalltalk语言。1972年PARC发布了该语言的第一个版本Smalltalk-72,其中正式使用了"面向对象"这个术语。Smalltalk的目标是使软件开发者能用一些尽可能独立的(或者说自治的)单位来进行软件开发。按有关文献的说法,在Smalltalk中任何东西都是对象,即类的实例。对象具有封装性,因此是一个较为独立的程序单位。所有的对象都是类的实例;类有超类、子类之分,子类继承超类的所有信息。作为面向对象语言主要特征的继承与封装,在Smalltalk中都具备了。因此,Smalltalk的问世标志着面向对象程序设计方法的正式形成。但是这个时期的Smalltalk语言还不够完善,被看作一种研究性和实验性的工作。

2、完善阶段

从70年代初到80年代,PARC一直坚持对Smalltalk的研究与改进。几经修改,先后 发布了Smalltalk-72,76,78等版本,直到1981年推出该语言最完善的版本Smalltalk-80,Smalltalk-80的问世被认为是面向对象语言发展史上最重要的里程碑。迄今人们所采用的绝大部分面向对象的基本概念及其支持机制在Smalltalk-80中都已具备,它是第一个完善的、能够实际应用的面向对象语言。它的发布使越来越多的人认识并接受了面向对象的思想,形成了一种崭新的程序设计风格,引发了计算机软件领域一场意义深远的变革。此外,Smalltalk-80不仅是一个编程语言,而且是一个具有类库支持和交互式图形用户界面的编程环境,这对于它的迅速流传也起到了很好的作用。

但是直到80年代后期,Smalltalk的应用尚不够广泛,这种情况与它在学术上的重大影响相比显得很不相称,其原因有以下几点:

(1)面向对象作为一种崭新的软件方法学被广泛接受需要一定的时间。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:编程规范

下一篇:ERP初阶(十):ERP在中国的应用与发展