面向对象的基本概念PPT.pptx
《面向对象的基本概念PPT.pptx》由会员分享,可在线阅读,更多相关《面向对象的基本概念PPT.pptx(32页珍藏版)》请在咨信网上搜索。
1、 怎样划分模块:(按)功能:每个模块做且仅做一件事;数据结构:每个模块仅容纳一个数据结构事件驱动:每个模块识别一个事件且对这 个事件做出反应;现实世界中的事物:每个模块对应现实世 界中的唯一一件事物(称之为 对象)。面向对象(Object-Oriented)不仅是一些具体的软件开发技术与策略,而且是一整套关于如何看待软件系统与现实世界的关系以及如何进行系统构造的软件方法学。特点:特点:(1)面向对象的技术建立的模型与客观世界一致,因而便于理解(图3.1);(2)适应变化的需要,修改局限在模块中;(3)可复用性1.3.2对象(Object)一般意义来讲,对象是现实世界中存在的一个事物,可以是有形
2、的,如一个桌子,可以是无形的,如一个开发项目。对象是构成现实世界的一个独立的单位,具有自己的静态特征(用数据描述)和动态特征(行为或具有的功能)。举例:张三、李四。软件系统中抽象地表示现实世界中的对象,数据表示特征,用操作表示对象的行为。例:人:姓名、年龄、职业等特征,跑、跳等行为;(1)定义:对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,由一组属性和一组对属性进行操作的服务组成。例图 3.3 TomOperationsOperationsStore AgeAge?WalkDanc(2)信息隐藏:从对象外部看不知道对象的信息是怎样定义的,不知道操作是如何实现的,只知道有什么
3、操作。信息:如年龄、性别,又称对象的状态。什么类型?长度?操作:用于存取信息,也可以与内部信息无关,如跳舞。(3)对象间的关系:例如,发票对象知道顾客对象,哪个顾客哪个单位要开发票。人可以知道另一个人,相互认识。两种关系:静态关系:长期存在的关系,两个对象相互知道对方是否存在。例:组成关系是一种静态关系,Tom是由他的头、胳膊、腿和躯干组成。图3.4 为什么将人划分成几个组成部分?便于理解,实现,可复用。(两个胳膊复用)动态关系:对象间互相进行通信。例:跳舞,一个人请另一个人一起跳舞,动态地建立关系。(4)如何定义信息和行为:图3.6 从对象内部看。(5)消息:对象发出的服务请求称为消息 (用
4、来激发对象的一个行为)。1.3.3 类和实例 系统是由许多相互通信的对象组成的,对象有些共同的特征,根据特征可以将对象分组,称为类。如:Tom、Mary和John三个人有类似的行为和信息结构。因此可以定义Person类。(1)类的定义:类是某些对象的模板,抽象地描述了属于该类的全部对象的内部结构,同一类对象的信息属性和操作。(2)实例的定义:实例是由类建立的对象。类描述了实例的结构,而实例的当前状态是由实例的执行的操作定义的。举例:图3.10 Tom、John和Mary是类Person的实例,不同的实例有自己的标识,具有各自的信息(状态)。由于操作可能不同,因此状态也不同。(3)怎样划分类 把
5、类Person中共同的信息和操作提取出来,放在一个类中,实际上具有不同的属性。如由于性别不同,因此建立两个新类Male和Female。如图3.12 ,图3.13 。共同:这两个类有共同的信息和行为,Age,Friend,Address,Jump,Walk应该抽象出来,避免重复,这在以后讨论。不同:Dance,Husband,Wife(4)怎样建立一个实例:由类的行为建立实例。图3.10 (相对于对象的行为)总结:类定义了对象的操作和信息结构,实例是由类建立的,定义了对象的状态。1.3.4 继承性(1)概念:类之间具有共性(信息结构和行为),抽取出来放在一个一般类中,如把Male和Female中
6、共同的特性放在Person类中,不同的特性放在特殊类中分别描述,特殊类的对象拥有一般类的全部属性与服务,称作特殊类对一般类的继承。Male和Female类可以从Person类继承共性,这样避免了重复。见图3.14 复用共同的描述,继承性往往被看作是软件复用的核心概念。(2)好处:易编程、易理解 代码短,结构清晰易修改 共同部分只要在一处修改即可易增加新类 只须描述不同部分 术语:父类子类,一般特殊,祖先后代,基类派生类,直接父类,直接子类 表示:带箭头的虚线 父类不知道子类 子类知道父类(3)怎样建立一个好的继承层次 类可以从父类继承,父类又可以从它的父类继承,形成多层次的继承结构。当增加一个
7、新类时,不一定在最低层,可能需要插在中间层,这样可能破坏原来的层次结构,或需要调整原来的层次结构。例:图3.14 上例中增加两个对象James和Lawrence都是男性的老人,他们与年青人有什么不同呢?跳舞的动作不同,比较慢。增加一个新类:Old Male与已有类的关系是什么样的?见图3.16 有三种方案:(a)Old Male和Male中有共性(b)Old Male中修改Male中Dance的功能(c)新建一个类young Male,old Male与young Male中有不同的特性 到底选择哪一种方案,具体情况而定,第三种情况结构清楚,但要修改原有的类。第一种增加一个类old Male重
8、复太多,概念不清楚,不可取;(不修改原有的类)第二种增加新类继承关系中Dance具有不同的行为,第三种只增加不同的部分,共同部分放在Male中,是可取的。但如再增加一类小男孩,则还会涉及修改Male。(不修改原有的类)权衡选择第二、三种。继承层次中增加的新类的4种方法:在继承类中,由下向上找一个合适的类作为父类;完全独立的一个类,不能在已有的类中继承重新构造继承层次,见图3.17 。加ABF类,找不到一个合适的类作为直接父类,重新构造原来的层次。好处:层次结构清楚;问题:a找出更好的层次结构 b修改工作量较大。重新定义所需要的特征,称为重载(Overriding)。例图3.16(b)好处:容易
9、且灵活地修改已有类;问题:在类的层次结构中一些操作具有同样的名字,但不同的语义(在不同类中),要知道操作的功能,必须向上找到定义操作的类(4)代码复用 通过继承性可以实现代码复用 建立类库(应用领域)当增加新类时,从类库中找到一个适合的类,从中继承,然后扩充或修改得到所需功能。(不必从0开始实现系统)(5)多继承 如果一个类需要用到多个已有类的特征,可以从多个类中继承,称为多继承。这意味着一个类可以有多个直接的祖先。例如船屋是可以从房子和船这两个类继承得到一个类,从两个类中抽取共同的部分构成一个新的类,图3.19 ,重新构造类的结构。问题:继承层次结构不好理解。如果祖先中具有相同名字但不同定义
10、的操作时,产生问题;到底继承的是什么操作;解决:用户必须选择某个祖先的定义或重新定义操作,图3.20 ,共同的祖先,重新定义过,名字冲突问题。1.3.5 多态性 对象互相通信,即一个对象发消息给另一个对象,执行某些行为或又发消息给另外的对象,从而执行系统的功能。发送消息的对象可能不知道另一个对象的类。例如在上述例子中,一个人的朋友可以是男的,也可以是女的,例如Tom的朋友可能是John或Mary,因此对于Male类的对象不知道朋友实例将属于哪一类。多态性意味着一个操作在不同类中可以有不同的实现方式。如Dance的实现Male和Female是不同的。(1)定义:多态性意味着消息的发送者不必知道接
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 基本概念 PPT
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。