《软件工程-第9章第1节.pptx

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第9章面向对象基础

面向对象的思想最初出现于挪威奥斯陆大学和挪威计算中心共同研制的Simula67语言中。其后,随着位于美国加利福尼亚的Xerox研究中心推出的Smalltalk76和80语言,面向对象的程序设计方法得到比较完善的实现。面向对象是当前计算机界关心的重点,是20世纪90年代软件开发的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围,如数据库系统、交互式接口、应用结构、应用平台、分布式系统、网络管理结构、CAD技术和人工智能等领域。一些新的工程概念及其实现,如并发工程、综合集成工程等也需要面向对象的支持,所以面向对象是程序设计的新风范,是软件开发的一种新方法,是一种新的技术。

9.1面向对象程序设计语言的发展9.1.1Simula语言Simula是在1967年由挪威的奥斯陆大学和挪威计算机中心的JohenDahl和Nygard设计的,当时取名为Simula67。这个名字反映了它是以前的一个仿真语言Simula的延续。然而,Simula67是一种真正的多功能程序设计语言,仿真只不过是其中的一个应用而已。

9.1.1Simula语言Simula是在ALGOL60的基础上扩充了一些面向对象的概念而形成的一种语言,它的基本控制结构与ALGOL相同,基本数据类型也是从ALGOL60照搬过来的。一个可执行的Simula程序由包含多个程序单元(例程和类)的主程序组成,还支持以类为单位的有限形式的分块编译。Simula语言中引入了类、子类的概念,提供继承机制,也支持多态机制,还提供了协同例程,它模仿操作系统或实时软件系统中的并行进程概念。

9.1.1Simula语言在Simula中,协同例程通过类的实例来表示。Simula还包含对离散事件进行仿真的一整套原语,仿真是面向对象技术的应用中最直接受益的一个主要领域。Simula通过一个类SIMULATION来支持仿真概念,该类可作为其他任何类的父类,该类的任何子类称为仿真类。Simula是一种混合型的面向对象程序设计语言,它开创了面向对象思想的先河,具有特殊的贡献,它仍然具有活力,还拥有一定范围内的一批热心支持者。目前在许多公司的不同硬件环境中都装有Simula语言的编译器,这些公司大多数是挪威和瑞典的公司。

9.1.2Smalltalk语言Smalltalk的思想是1972年由AlanKay在犹他大学提出的,后来当一个专门从事图形工作的研究小组得到Simula编译程序时,便认为这些概念可直接应用到他们的图形工作中。当Kay后来加入到Xerox研究中心后,他使用同样的原理作为一个高级个人计算机环境的基础。Smalltalk先是演变为Smalltalk76,然后是Smalltalk80。

9.1.2Smalltalk语言Smalltalk是一种纯面向对象程序设计语言,它强调对象概念的归一性,引入了类、子类、方法、消息和实例等概念术语,应用了单继承性和动态联编,成为面向对象程序设计语言发展中一个引人注目的里程碑。

9.1.2Smalltalk语言在Smalltalk80中,除了对象之外,没有其他形式的数据,对一个对象的唯一操作就是向它发送消息。在该语言中,类被看成是对象,类是元素的实例,它全面支持面向对象的概念,任何操作都以消息传递的方式进行。

9.1.2Smalltalk语言Smalltalk是一种弱类型语言,程序中不作变量类型说明,系统也不作类型检查。它的虚拟机和虚拟像实现策略,使得数据和操作有统一的表示,即bytecode。它有利于移植和向面向对象数据库的演变,它有较强的动态存储管理功能,包括垃圾收集。?

9.1.2Smalltalk语言Smalltalk不仅是一种程序设计语言,它还是一种程序设计环境。该环境包括硬件和操作系统涉及的许多方面,这是Smalltalk最有意义的贡献之一,它引入了用户界面的程序设计工具和类库:多窗口、图符、正文和图形的统一、下拉式菜单、使用鼠标定位、选择设备等。它们都是用类和对象实现的,在这些工具支持下,程序中的类、消息和方法的实现都可以在不同窗口中联机地设计、实现、浏览和调试。

9.1.2Smalltalk语言在Smalltalk环境中,这些界面技术与面向对象程序设计技术融合在一起,使得面向对象程序设计中的“对象”对广大使用者来说是可见的,并且是具有实质内容的东西。Smalltalk的弱点是不支持强类型,执行效率不高,这是由该语言是解释执行bytecode和查找对象表为主的动态联编所带来的。

9.1.3Eiffel语言Eiffel是20世纪80年代后期由ISE公司的B.Meyer等人开发的,它

文档评论(0)

酱酱 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档