第二章 面向对方法概述.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 面向对方法概述

第二章 面向对象方法概述 2.1 面向对象方法的产生(1/2) 雏形阶段 20世纪50 年代中期,出现了高级的程序设计语言FORTRAN,它在计算机语言的发展史上具有划时代的意义。 20世纪60年代开发的Simula67,它是面向对象语言的鼻祖,提出了面向对象的概念,该语言还支持类的继承。 20世纪70年代出现的Ada语言是支持数据抽象类型的最重要的语言之一,支持数据抽象类型、运算符重载及多态性等。 完善阶段 后来出现的Smalltalk是最有影响的面向对象的语言之一。该语言加入了Simula语言的许多面向对象的特征,包括类和继承等。而且信息的隐藏更加严格,每种实体都是对象。 Smalltalk语言是一种弱类型化的语言,一个程序中的同一个对象在不同时间内可以表现为不同的类型。 2.1 面向对象方法的产生(2/2) 繁荣阶段 上世纪80年代中期到90年代,是面向对象语言走向繁荣的阶段。其主要表现是大批面向对象语言的涌现,例如C++、Objective-C、Object Pascal、CLOS、Eiffel和Actor等。 这些面向对象的编程语言分为纯面向对象的语言和混合型面向对象语言。混合型语言是在面向过程语言的基础上增加面向对象的成分形成的,在适应性方面具有优势。 到20世纪90年代,面向对象的分析与设计方法已多达数十种,这些方法都各有所长,并逐渐趋于统一。统一建模语言(UML)成为世界性的面向对象建模标准语言。 到20世纪末,软件工程师和软件研究人员已经尝试了至少30年,形成了目前的面向对象方法。它所建立的模型对问题域进行完整与直接的映射,在开发过程中采用一致的概念和表示方法,采用封装、继承、多态和消息等方法,使问题域的复杂性得到了控制。 2.2 面向对象方法的概念 面向对象方法是一种运用对象、类、继承、封装、消息传送、多态性等概念来构造系统的软件开发方法。 基本思想是从现实世界中客观存在的事物(即对象)出发来构造系统,并在系统构造中尽可能运用人类的自然思维方式。 2.2.1 基本概念(1/5)——对象 在面向对象的系统中,对象是用来描述客观事物的一个实体,它是构成系统的一个基本单位。 一个对象由一组属性和对这组属性进行操纵的一组操作构成。属性是用来描述对象静态特征的一个数据项。操作是用来描述对象动态特征的一个动作序列。 对象通过封装实现信息隐藏,封装的目的就是阻止非法访问。对象与外部通过接口进行联系的,接口的具体实现外部是不可见的,接口提供了这个对象的功能。 对象通过消息与另一个对象传递信息,每当一个操作被调用,就有一条消息被发送到这个对象上,消息带来了将被执行的这个操作的内容。一般地讲,消息传递的语法随系统不同而不同,其组成部分包括目标对象,所请求的方法和参数。 2.2.1 基本概念(2/5)——类 什么是类?类是创建对象的样板,它包含着所创建对象的状态描述和方法的定义。类完整地描述了外部接口和内部算法以及数据结构的形式。 由一个类所创建的对象被称为这个类的实例,因此类是对象的抽象,它是具有共同数据特征与行为的若干对象的统一描述体。 一个类的所有对象都要有相同的数据结构,并且共享相同的实现操作的代码,而各个对象有着各自不同的状态,即私有的存储。因此,类是所有某一类对象的共同的行为和不同状态的集合体。 2.2.1 基本概念(3/5)——抽象 抽象是指从事物中舍弃个别的、非本质的特征,而抽取共同的、本质特征的做法。 一个现实事物,可能要担任很多角色,只有与问题域有关的角色,我们才在系统中予以考虑。如同在现实生活中一样,人们可以在较高的层次上分析与解决问题,而不用考虑较低层次的事物。 在面向对象方法中,对象是现实世界中事物的抽象,类是对对象的抽象,一般类是对特殊类的抽象。 在面向对象方法中,还存在着过程抽象和数据抽象。 过程抽象:将完成确定功能的序列看做单一的实体。 数据抽象:根据对象的特征定义数据类型,并限定数据的值只能由特定的操作来操纵。 2.2.1 基本概念(4/5)——继承 特殊类自动地拥有或隐含地复制其一般类的全部属性与操作,称作特殊类对一般类的继承,也称作一般类对特殊类的泛化。 继承具有“是一种”的含义,如图所示,学生是一种学校人员,教师也是一种学校人员,二者作为特殊类继承了一般类“学校人员”的所有属性和操作。 2.2.1 基本概念(5/5)——封装和隐藏 封装是把过程和数据包围起来,形成一个独立的单元,对数据的访问只能通过已定义的接口。封装是对象与类的概念的主要特征,保证了模块具有较好的独立性,使得程序维护起来较为容易。 封装的一个重要目的就是实现信息隐藏。信息隐藏是指外界不能直接存取对象的内部信息,外界也不知道对象操作的内部实现细节。 严格的封装也会导致编程麻烦和程序执行效率不高的问题,所以有的语言不强调严格

文档评论(0)

189****8221 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档