面向对象程序设计01-3.面向对象技术重点.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章认识对象 1.3 面向对象技术概述 1.3.1 面向对象的基本特征 1.3.2 面向对象的软件开发方法 1.3.3 面向对象的UML描述 1.3 面向对象技术概述 面向对象方法认为,客观世界是由各种对象组成的,任何事物都是对象。每个对象都有自己的运动规律和内部状态。复杂的对象可以由相对比较简单的各种对象以某种方式构成。不同对象的组合及相互作用就构成了我们要研究的、构造的系统。 1.3 面向对象技术概述 面向对象方法认为,对象通过类比,找出彼此间的相似性(共同属性、行为)而形成类。对于某个类,可以通过定义一组数据来说明该类所有对象共同具有的属性,也可以通过定义一组操作来说明该类所有对象共同具有的行为(功能)。每一个对象都属于某个类,都是该类的一个实例。 1.3 面向对象技术概述 面向对象方法认为,对象间的相互联系是通过传递消息来实现的,消息通知接收对象去执行一个允许的操作,至于该对象如何完成这个操作的细节,则是封装在该对象的内部(由方法来实现),对于外界是隐藏的。 1.3.1 面向对象的基本特征 面向对象的基本特征是: 封装 泛化和继承 多态 衡量某种程序设计语言是否面向对象的,主要看它是否具有这3种特征。 1.3.1 面向对象的基本特征 封装 封装(Encapsulation)就是将属性和操作封装在对象中并和外部区隔开来。 例如:手机作为一个封装对象可归纳为: (1)有一个封闭的边界(机壳)。手机的内部细节被包装在这个边界内,并且受到保护; (2)有一个对外提供服务的接口(面板)。接口是手机为人(外部对象)提供服务的唯一渠道。 1.3.1 面向对象的基本特征 封装 面向对象的程序设计中,对象是一种自治、封装的实体。 通过定义对象属性和操作的可见性,来决定哪些是对外可见的(公有的),哪些是隐藏在对象内部的(私有的) 。 那些对外可见的操作集称为接口,对象间就是通过接口进行消息传递的。 1.3.1 面向对象的基本特征 封装 可以有效控制一个对象内部发生变化时对其他对象的影响。 通过对象接口可以简化对象的使用,接口的稳定可以保证程序结构的稳定。 便于对数据和功能的复用。 1.3.1 面向对象的基本特征 泛化和继承 泛化(generalization)是一般类和特殊类之间的层次关系。一般类称为基类(base class)或父类(super class)。特殊类称为派生类(derived class)或子类(sub class)。派生类建立在基类的基础之上,继承(inherit)基类所有的属性、操作,并对其进行扩展。例如,学生类和大学生类具有泛化关系。 泛化有时也被叫做“is-a”关系,因为派生类的实例也可看成是基类的实例。 1.3.1 面向对象的基本特征 泛化和继承 如果从派生类共享基类定义的属性和操作角度来看,类的泛化中包含有继承 (inheritance)。继承提供了创建派生类的一种方法,派生类共享基类的属性和操作,并对其进行修改或扩充,可以说继承的本质是类间数据和功能的共享。因此,继承较好地解决了软件的可重用性问题。 继承按派生类继承基类的个数来分,有单继承和多继承;按继承内容来分,有实现继承和接口继承。 1.3.1 面向对象的基本特征 泛化和继承 1.3.1 面向对象的基本特征 泛化和继承 泛化是类与类之间的一种关系,表达了派生类“就是”基类这样一种语义关系,即在程序中派生类可以代替基类,泛化是多态的基础。 继承是一种机制、方法。通过继承可以实现具有泛化关系的不同类的代码共享,即基类中已定义的属性、操作和方法在派生类的重用。 1.3.1 面向对象的基本特征 泛化和继承 可以实现类的分解,从而形成稳定且易于理解的程序结构。 可以实现代码共享和重用。 支持多态,增加了软件的灵活性。 1.3.1 面向对象的基本特征 多态 多态的定义:具有泛化和继承关系的对象接收到同一消息时有不同的行为。 多态提供了不同对象同一类操作的相同接口。 1.3.1 面向对象的基本特征 多态 多态性实例: 1.3.1 面向对象的基本特征 多态 在具有泛化关系的图形家族类中,把所有派生类的对象都可以看作是基类的对象,在基类中定义了一个称为“画图”的操作,但并不提供具体实现,“画图”是整个家族对外的接口。在家族的每个派生类都有相同的“画图”操作,并且提供了具体实现方法(画不同的图形)。外部对象不必关心它所面对的是哪个家族类的对象,它只需要向对象发消息;而不同的对象接到消息的会画出不同的图形。 1.3.1 面向对象的基本特征 多态 只要图形家族提供的接口不变,那么图形家族内部发生变化,比如增加了一个五边形派生类,都不会影响外部的对象。 多态能确保类接口的稳定性,从而能够形成稳定且易于理解的程

您可能关注的文档

文档评论(0)

美洲行 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档