- 1、本文档共132页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程模型与方法 08、面向对象基础
软件工程模型与方法Models Methods of Software Engineering 第八章 面向对象基础 肖丁 本章内容 8.1 面向对象基本思想 8.2 面向对象的主要概念和基本原则 8.3 几种经典的面向对象的分析和设计方法 8.4 统一建模语言UML简介 8.1 面向对象基本思想 面向对象方向20世纪60年代末提出,90年代得到了广泛的应用,其思路是从现实世界中的客观对象(如人或事物)出发,尽量运用人类的自然思维方式(如抽象和分类)来构造软件系统。 结构化开发方法将系统划分为功能和数据两个部分,数据和功能分别设计和实现。 面向对象从现实出发,将系统抽象为一组交互的对象,每个对象既包含功能,也拥有数据。 8.1 面向对象基本思想 以图书管理信息系统为例来比较结构化开发方法和面向对象方法的思路。 结构化方法: 8.1 面向对象基本思想 面向对象的方法: 从图书借阅的应用中抽象出三类对象: 8.1 面向对象基本思想 可见,面向对象不仅是一些具体的软件开发技术与策略,而且是一整套关于如何看待软件系统与现实世界的关系、用什么观点来研究问题并进行问题求解、以及如何进行系统构造的软件方法学。 从这个意义上讲,面向对象方法是一种运用对象、类、继承、封装、聚合、关联、消息、多态性等概念来构造系统的软件开发方法。面向对象基本思想可以概括为: 8.1 面向对象基本思想 对象:从现实世界中客观存在的事物出发来构建软件系统: 强调直接以问题域(现实世界)中的事物为中心来思考和分析 把它们抽象地表示为软件系统中的对象,作为软件系统的基本构成单位。 这样就可以使软件系统直接映射到问题域,保持问题域中事物及其相互关系的本来面貌。 8.1 面向对象基本思想 属性和服务:用对象的属性表示事物的静态特征;用对象的服务表示事物的动态特征。 关联:通过关联表达类之间的静态关系。 消息:对象之间通过消息进行通信,实现对象之间的动态联系。 封装:类和对象的属性与服务结合为一体,对外屏蔽其内部细节,只有公共的服务对外是可见的。 分类:对事物进行分类。 聚合:复杂的对象可以用简单的对象作为其构成部分。 继承:通过在不同程度上运用抽象的原则,可以得到较一般的类和较特殊的类。特殊类继承一般类的属性与服务,从而简化系统的构造过程及文档。 8.2 OO的主要概念和基本原则 8.2.1 主要概念 8.2.2 基本原则 8.2.1 主要概念 对象 类 关联和链 继承/泛化 聚合 对象 理解对象的两个角度: 现实世界:客观存在的任何事物都可以被看作是对象 有形的对象,如一个人或一件物品; 无形的对象,如一项计划或者一个事件。 对象是一个独立单位,它具有自己的静态特征和动态特征。 软件系统:对象是用来描述现实世界客观事物的一个实体,是构成系统的一个基本单位。 对象由一组属性和对这组属性进行操纵的一组操作组成。 属性用来描述对象静态特征, 操作用来描述对象动态特征。 类 类是具有相同属性、操作、关系和语义的对象集合的描述。 类为属于该类的全部对象提供了统一的抽象描述,由类名、属性和服务三个主要部分组成。 对象是类的实例。 关联和链 关联用来描述类之间的静态联系,可以包含关联的名称、关联的方向和多重性等属性。 链是关联的实例,用于描述具体对象之间的某种联系。 对象之间的链可以通过对象的属性表达出来。例如,用类“学生”的对象的属性来记录该对象具体借阅的“图书”对象。 继承/泛化 继承也称泛化,是OO描述类之间相似性的一种重要机制。 当需要定义的一个新类与已经存在的类存在一定程度的相似度的时候,可以通过继承已经存在的类的方法来创建新类,从而减少定义新类的工作量。 在类的继承层次结构中,位于较高层次的类叫做一般类/超类/父类,而位于较低层次的类叫做特殊类/子类。 继承使得特殊类自动地拥有或隐含地复制一般类的全部属性、操作和关联。 继承/泛化 只有当两个类之间是 “is a”, “is like” “is a kind of ”关系时,才可使用继承。 继承可分为单继承和多继承。 如果一个子类继承了超过一个以上的父类的属性和操作,那么这种继承就是多继承; 否则就是单继承。 继承是可传递的,可以跨越任意层次。 子类继承其所有祖先类的属性、操作和关联。 聚合 聚合刻画了现实世界事物的构成关系 ,是一种具有整体--部分语义的关联,也就是说,聚合是关联的一种,只是普通关联的语义没有聚合那么强 。 其语义可表达为: “有一个” “是一部分” 8.2.2基本原则 分类 封装和信息隐藏 消息通信 多态性 分类 分类是按照某种原则划分事物的类别,利用它有助于对复杂世界的认识。 在面向对象的方法中,分类就是把具有相同属性和操作的对象划分为一类,用类作为这些对象的抽象描
您可能关注的文档
- 设计-施工总承包模式”.docx
- 设计师入驻审核规范.docx
- 设计师的几个原则.docx
- 设备与实例.ppt
- 设计通则2.ppt
- 设计比赛 - 一、指导思想:.doc
- 设计杂谈二.doc
- 设计说明书-A.docx
- 讲稿幻灯缩写版.doc
- 设计顾问着装及形象要求.doc
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
文档评论(0)