- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程面向朵对象基础
面向对象基础 9.1 面向对象程序设计语言的发展 9.1.1 Simula语言 Simula 67是一种真正的多功能程序设计语言,仿真是其中的一个应用。 9.1.2 Smalltalk语言 Smalltalk是一种纯面向对象程序设计语言,它强调对象概念的归一性,引入了类、子类、方法、消息和实例等概念术语,应用了单继承性和动态联编,成为面向对象程序设计语言发展中一个引人注目的里程碑。 9.1.3 Eiffel语言 Eiffel它是继Smalltalk 80之后又一个纯面向对象的程序设计语言。它的主要特点是全面的静态类型化、全面支持面向对象的概念、支持动态联编、支持多重继承和具有再命名机制可解决多重继承中的同名冲突问题。 9.1.4 C++语言 C++是一种混合型的面向对象的强类型语言,C++是C语言的超集,融合了Simula的面向对象的机制,借鉴了ALGOL 68中变量声明位置不受限制、操作符重载,形成一种比Smalltalk更接近于机器但又比C语言更接近问题的面向对象程序设计语言。 9.1.5 面向对象程序设计语言 目前已有几十种面向对象语言出现,这些语言分为两大类:第一类是纯面向对象的程序设计语言,它们是Smalltalk-80,Eiffel,SELF,Java等;第二类是混合式面向对象程序设计语言,它们是C++,Simula,CLOS,CommonLoops,Objective-C,objective Pascal等。 9.2 面向对象程序设计模式 9.2.1 软件能力面临的问题(略) 1. 软件能力 2. 制约软件发展的主要因素 3. 传统软件工程的局限性 4. 软件形式化开发至今尚未真正实用 5. 必然的选择——采用新的程序设计模式 9.2.2 程序设计基本模式 程序设计模式是人们在程序设计时所采用的基本方式模型,它是以一类程序设计语言为基础,体现了一类语言的主要特点,这些特点能用以支持应用领域所希望的设计风格。从第一个程序设计语言产生以来,有如下的基本程序设计模式。 1. 过程程序设计 例如FORTURN语言。 2. 结构化程序设计 这种模式的程序设计语言有Modula,Ada,C和PASCAL等。 3. 函数程序设计 函数程序设计语言的代表是LISP等语言。 4. 逻辑程序设计 逻辑程序设计模式的语言代表是PROLOG等语言 5.面向对象程序设计 9.2.3 程序设计模式的转换 (略) 9.2.4 面向对象程序设计模式的机制 1. 基本特征 面向对象的程序设计将计算看作是一个系统的开发过程,系统由对象组成,经历一连串的状态变化以完成计算任务。 面向对象程序设计对体系结构和支撑软件系统没有突变要求,因而不存在难以应用现有资源的问题。 2. 基础构件 面向对象程序的基础构件是对象和类。 从程序设计角度来看,对象是一种不依赖于外界的模块,对应着存储器中的一块被划分的区域。它包含数据,在逻辑上也包含作用于这些数据的过程,这些过程称为方法。 3. 基本机制 面向对象程序设计的基本机制是继承性、消息和方法,还有在特定方面提供更为专门的、灵活的机制,如重置、多态等。 9.3 面向对象的概念 9.3.1 面向对象的基本思想 什么是面向对象 Coad和Yourdon给出了一个定义:“面向对象=对象+类+继承+通信”。 如果一个软件系统是使用这样 4 个概念设计和实现的,则我们认为这个软件系统是面向对象的。 一个面向对象的程序的每一成份应是对象,计算是通过新的对象的建立和对象之间的通信来执行的。 对象(object) 客观世界里的任何实体都可以被看作是对象。对象可以是具体的物,也可以指某些概念。(有形实体、作用、事件、性能说明) 对象是面向对象开发模式的基本成份。 每个对象可用它本身的一组属性和它可以执行的一组操作来定义。 从编程的角度来看,对象=(算法+数据结构) 或 对象=(操作+属性) 即对象实现了数据和操作的结合,使数据和操作封装在对象的统一体内。 属性:属性用来表示对象的状态 操作又称为方法或服务,它描述了对象执行的功能,描述对象行为的过程,若通过消息传递,还可以为其它对象使用。 类(class) 类是一组具有相同数据结构和相同操作的对象的集合。 类的定义包括一组数据属性和在数据上的一组合法操作。 类定义可以视为一个具有类似特性与共同行为的对象的模板,可用来产生对象。 在一个类中,每个对象都是类的实例 (Instance),它们都可使用类中提供的函数。 对象的状态则包含在它的实例变量,即实例的属性中。
文档评论(0)