- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程导论课件第9章面向对象方法学引论讲述
第9章 面向对象方法学引论
9.1 面向对象方法学概述
9.2 面向对象的概念
9.3 面向对象建模
9.4 对象模型
9.5 动态模型
9.6 功能模型
9.7 3种模型之间的关系
目标
了解面向对象方法学
了解面向对象基本概念
了解面各向对象模型建立
建立系统对象模型
建立系统功能模型
建立系统动态模型
9.1面向对象方法学概述
9.1.1 传统方法学缺点
9.1.2 面向对象开发方法
9.1.3 面向对象方法要点
9.1.4 面向对象方法组成
9.1.5 面向对象方法过程
9.1.6 面向对象方法优点
9.1.1 传统方法的缺点
★结构化分析方法:面向功能
软件结构严重依赖于功能,而功能是软件开发中最不稳定的因素。
★数据和操作相分离
9.1.2 面向对象开发方法
OOSD (Object-Oriented Software Development)是一种 把面向对象的思想应用于软件开发过程,指导开发活动的系统方法。
面向对象=对象 (objects)
+类 (classes)
+继承(inheritance)
+通信 (communication with messages)
9.1.3 面向对象方法的要点
认为客观世界是由各种对象组成的,任何事物都是对象。
把所有对象都划分成各种对象类(简称为类,class),每个对象类都定义了一组数据和一组方法。
按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)。
对象彼此之间仅能通过传递消息互相联系。
9.1.4 面向对象方法组成
OOSD由三部分组成:
OOA(Object-Oriented Analysis)面向对象的分析
OOD(Object-Oriented Design)面向对象的设计
OOP (Object-Oriented Program)面向对象的程序设计
OOA
强调的是对一个系统中的对象特征和行为的定义。建立系统的三类模型。
OOD
与OOA密切配合顺序实现对现实世界的进一步建模。
OOP
是面向对象的技术中发展最快的,使用面向对象的程序设计语言,进行编码。
9.1.5 面向对象开发过程(I)
9.1.5 面向对象开发过程(II)
9.1.5 面向对象开发过程(III)
9.1.5 面向对象开发过程(IV)
9.1.6 面向对象方法的优点
1.与人类习惯的思维方式一致
2.稳定性好
3.可重用性好
4.可维护性好
9.2 面向对象的概念
9.2.1 对象
9.2.2 类
9.2.3 实例
9.2.4 消息
9.2.5 方法
9.2.6 属性
9.2.7 封装
9.2.8 继承
9.2.9 多态性
9.2.1 对象(I)
是客观事物或概念的抽象表述,即对客观存在的事物的描述统称为对象
对象可以是事、物、或抽象概念 ,是将一组数据和使用该数据的一组基本操作或过程封装在一起的实体。
9.2.1 对象(II)
对象的特点
(1) 以数据为中心。
(2) 对象是主动的。
(3) 实现了数据封装。
(4) 本质上具有并行性。
(5) 模块独立性好。
9.2.2 类
类又称对象类(Object Class),是一组具有相同属性和相同操作的对象的集合。在一个类中,每个对象都是类的实例(instance) ,它们都可以使用类中提供的函数。
9.2.3 实例
实例就是由某个特定的类所描述的一个具体的对象。类是对具有相同属性和行为的一组相似的对象的抽象,类在现实世界中并不能真正存在。
9.2.4 消息
消息就是向对象发出的服务请求(互相联系、协同工作等)。一个消息包含3个部分:接收消息的对象,消息名,消息变元。
例如,MyCircle是Circle类的一个实例,发送消息如下: MyCircle.show(GREEN);
9.2.5 方法
方法就是对象所能执行的操作,也就是类中所定义的服务。
方法描述了对象执行操作的算法,响应消息的方法。在C++语言中把方法称为成员函数。
9.2.6 属性
属性就是类中所定义的数据,它是对客观世界实体所具有的性质的抽象。
9.2.7 封装
对象封装了对象的数据以及对这些数据的操作。
9.2.8 继承(I)
继承是指能够直接获得已有的性质和特征,而不必重复定义它们。在面向对象的软件技术中,继承是子类自动地共享基类中定义的数据和方法的机制。
单重继承:子类仅从一个父类继承属性和方法
多重继承:子类可从多个父类继承属性和方法
9.2.8 继承(II)
9.2.9 多态性
在类等级的不同层次中可以共享(公用)一个行为
文档评论(0)