程序设计技术 第三章 面向对象程序设计思想.ppt
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
▪ 概要设计:细化对象行为,添加新对象,认定类,组类库, 确定外部接口及主要数据结构;
▪ 详细设计:加细对象描述;
7
OOP 法
❖ OOP 法是使用面向对象的程序设计语言,如C++进行程序 设计。
▪ Coad和Yourdon给出一个面向对象的定义:面向对象=对象+ 类+继承+消息;
▪ 如果一个软件系统是按照这样四个概念设计和实现的,则可 以认为这个软件系统是面向对象的;
程序设计技术
第三章 面向对象程序设计思想
1
LOGO
什么是面向对象的开发方法
❖ 什么是面向对象的开发方法 :
▪ OOSD (Object-Oriented Software Development)法是一种 把 面向对象的思想应用于软件开发过程,指导开发活动的系统 方法;
▪ 面向对象的方法是一种运用对象、类、继承、封装、聚合、 消息传送、多态性等概念来构造系统的软件开发方法;
OOA
为的定义。建立系统的三类模型。
OOD
与OOA密切配合顺序实现对现实世界的进一 步建模。
OOP
是面向对象的技术中发展最快的,使用面向 对象的程序设计语言,进行编码。
5
OOA法
❖ OOA法就是要解决“做什么”的问题。OOA 法的基本任 务就是要建立三种模型:
▪ 对象模型(信息模型),定义构成系统的类和对象,它们的属 性与操作;
4
面向对象开发方法的组成
❖ OOSD由三部分组成:
▪ OOA(Object-Oriented Analysis)面向对象的分析 ▪ OOD(Object-Oriented Design)面向对象的设计 ▪ OOP (Object-Oriented Program)面向对象的程序设计
强调的是对一个系统中的对象特征和行
3
什么是面向对象的开发方法
❖ 面向对象技术的特点:
▪ 对软件开发过程所有阶段进行综合考虑。 ▪ 软件生存期各阶段所使用的方法、技术具有高度的连续性,
用符合人类认识世界的思维方式来分析、解决问题; ▪ 将OOA、OOD、OOP有机地集成在一起。
OOA(Object-Oriented Analysis) OOD(Object-Oriented Design) OOP(Object-Oriented Program)
13
类(Class)
❖ 由于对象是类的实例,在进行分析和设计时,通常把注意 力集中在类上,而不是具体的对象上。
14
对象和类的描述
❖ 对象和类一般采用“对象图” 和 “类图” 来描述。
类名
类图 属性
运算
人
姓 名:字符串 年 龄: 整 型
改换工作 改换地址
文件
文件名 文件大小 最近更新日期
打印
几何对象
颜色 位置
移动(delta:矢量) 选择(P:指针型):布尔型
旋转(角度)
对象图
❖ 对象类的描述
(人)
李军 24
程序员 无
(人)
张红兵 28
绘图员 人民路8号
❖
对象的描述
15
继承 (Inheritance)
❖ 继承是使用现存的定义作为基础,建立新定义的技术。是 父类和子类之间共享数据结构和方法的机制,这是类之间 的一种关系。在定义和实现一个类的时候,可以在一个已 经存在的类的基础上来进行,把这个已经存在的类所定义 的内容做为自己的内容,并加入若干新内容。
2
什么是面向对象的开发方法
❖ 什么是面向对象:
▪ 根据Coad 和 Yourdon 的定义,按照以下4个概念设计和实现 的系统,称为是面向对象的。
▪ 面向对象=对象 (object)
+类 (classification) +继承(inheritance) +通信 (communication with messaBiblioteka Baidues)
和OOSE的基础上推出了统一建模语言UML。
9
面向对象的概念
❖ 理解面向对象的基本概念对于学习和掌握面向对象的开发 方法是十分重要的。
对象(Object) 类(Class) 继承(Inheritance) 消息(Information) 多态性(Polymorphism) 永久对象(Persistent object)
16
继承 (Inheritance)
▪ 状态模型(动态模型), 描述任何时刻对象的联系及其联系的 改变,即时序。常用状态图, 事件追踪图描述;
▪ 处理模型(函数模型), 描述系统内部数据的传送处理;
❖ 显然,在三大模型中,最重要的是对象模型。
6
OOD 法
❖ OOD 法是在需求分析的基础上,进一步解决“如何作” 的问题,OOD 法也分为概要设计和详细设计:
❖ 对象的最基本的特征是封装性和继承性。
12
类(Class)
❖ 类又称对象类(Object Class),是一组具有相同属性和相 同操作的对象的集合。在一个类中,每个对象都是类的实 例(instance) ,它们都可以使用类中提供的函数。
❖ 类具有属性,用数据结构来描述类的属性,类具有操作, 它是对象的行为的抽象,操作实现的过程称为方法 (method) ,方法有方法名,方法体和参数。 。
8
面向对象的方法的代表性成果
❖ 1、B.Henderson-sellers 和 J.m.Edwards提出的面向对象软件 生存期喷泉模型及面向对象的系统开发方法。
❖ 2、G.Booch提出的面向对象的开发方法。 ❖ 3、P.Coad和E.Yourd提出的OOA和OOD法。 ❖ 4、J. Rumbaugh等人提出的对象建模技术(OMT)。 ❖ 5、Jacobson 提出的面向对象的软件工程(OOSE)。 ❖ 6、G.booch J.Rumbough Jacobson等人在Booch方法、OMT
10
对象(Object)
❖ 对象(Object)是客观事物或概念的抽象表述,即对客观存 在的事物的描述统称为对象,对象可以是事、物、或抽象 概念 ,是将一组数据和使用该数据的一组基本操作或过程 封装在一起的实体。
11
对象(Object)
❖ 对象都存在一定的状态(state),内部标识(identity),可以 给对象定义一组运算(operation),对象通过其运算所展示的 特定行为称为对象行为(behavior),对象本身的性质称为属 性(attribute),对象将它自身的属性及运算“包装起来”, 称为“封装”(encapsulation).
▪ 详细设计:加细对象描述;
7
OOP 法
❖ OOP 法是使用面向对象的程序设计语言,如C++进行程序 设计。
▪ Coad和Yourdon给出一个面向对象的定义:面向对象=对象+ 类+继承+消息;
▪ 如果一个软件系统是按照这样四个概念设计和实现的,则可 以认为这个软件系统是面向对象的;
程序设计技术
第三章 面向对象程序设计思想
1
LOGO
什么是面向对象的开发方法
❖ 什么是面向对象的开发方法 :
▪ OOSD (Object-Oriented Software Development)法是一种 把 面向对象的思想应用于软件开发过程,指导开发活动的系统 方法;
▪ 面向对象的方法是一种运用对象、类、继承、封装、聚合、 消息传送、多态性等概念来构造系统的软件开发方法;
OOA
为的定义。建立系统的三类模型。
OOD
与OOA密切配合顺序实现对现实世界的进一 步建模。
OOP
是面向对象的技术中发展最快的,使用面向 对象的程序设计语言,进行编码。
5
OOA法
❖ OOA法就是要解决“做什么”的问题。OOA 法的基本任 务就是要建立三种模型:
▪ 对象模型(信息模型),定义构成系统的类和对象,它们的属 性与操作;
4
面向对象开发方法的组成
❖ OOSD由三部分组成:
▪ OOA(Object-Oriented Analysis)面向对象的分析 ▪ OOD(Object-Oriented Design)面向对象的设计 ▪ OOP (Object-Oriented Program)面向对象的程序设计
强调的是对一个系统中的对象特征和行
3
什么是面向对象的开发方法
❖ 面向对象技术的特点:
▪ 对软件开发过程所有阶段进行综合考虑。 ▪ 软件生存期各阶段所使用的方法、技术具有高度的连续性,
用符合人类认识世界的思维方式来分析、解决问题; ▪ 将OOA、OOD、OOP有机地集成在一起。
OOA(Object-Oriented Analysis) OOD(Object-Oriented Design) OOP(Object-Oriented Program)
13
类(Class)
❖ 由于对象是类的实例,在进行分析和设计时,通常把注意 力集中在类上,而不是具体的对象上。
14
对象和类的描述
❖ 对象和类一般采用“对象图” 和 “类图” 来描述。
类名
类图 属性
运算
人
姓 名:字符串 年 龄: 整 型
改换工作 改换地址
文件
文件名 文件大小 最近更新日期
打印
几何对象
颜色 位置
移动(delta:矢量) 选择(P:指针型):布尔型
旋转(角度)
对象图
❖ 对象类的描述
(人)
李军 24
程序员 无
(人)
张红兵 28
绘图员 人民路8号
❖
对象的描述
15
继承 (Inheritance)
❖ 继承是使用现存的定义作为基础,建立新定义的技术。是 父类和子类之间共享数据结构和方法的机制,这是类之间 的一种关系。在定义和实现一个类的时候,可以在一个已 经存在的类的基础上来进行,把这个已经存在的类所定义 的内容做为自己的内容,并加入若干新内容。
2
什么是面向对象的开发方法
❖ 什么是面向对象:
▪ 根据Coad 和 Yourdon 的定义,按照以下4个概念设计和实现 的系统,称为是面向对象的。
▪ 面向对象=对象 (object)
+类 (classification) +继承(inheritance) +通信 (communication with messaBiblioteka Baidues)
和OOSE的基础上推出了统一建模语言UML。
9
面向对象的概念
❖ 理解面向对象的基本概念对于学习和掌握面向对象的开发 方法是十分重要的。
对象(Object) 类(Class) 继承(Inheritance) 消息(Information) 多态性(Polymorphism) 永久对象(Persistent object)
16
继承 (Inheritance)
▪ 状态模型(动态模型), 描述任何时刻对象的联系及其联系的 改变,即时序。常用状态图, 事件追踪图描述;
▪ 处理模型(函数模型), 描述系统内部数据的传送处理;
❖ 显然,在三大模型中,最重要的是对象模型。
6
OOD 法
❖ OOD 法是在需求分析的基础上,进一步解决“如何作” 的问题,OOD 法也分为概要设计和详细设计:
❖ 对象的最基本的特征是封装性和继承性。
12
类(Class)
❖ 类又称对象类(Object Class),是一组具有相同属性和相 同操作的对象的集合。在一个类中,每个对象都是类的实 例(instance) ,它们都可以使用类中提供的函数。
❖ 类具有属性,用数据结构来描述类的属性,类具有操作, 它是对象的行为的抽象,操作实现的过程称为方法 (method) ,方法有方法名,方法体和参数。 。
8
面向对象的方法的代表性成果
❖ 1、B.Henderson-sellers 和 J.m.Edwards提出的面向对象软件 生存期喷泉模型及面向对象的系统开发方法。
❖ 2、G.Booch提出的面向对象的开发方法。 ❖ 3、P.Coad和E.Yourd提出的OOA和OOD法。 ❖ 4、J. Rumbaugh等人提出的对象建模技术(OMT)。 ❖ 5、Jacobson 提出的面向对象的软件工程(OOSE)。 ❖ 6、G.booch J.Rumbough Jacobson等人在Booch方法、OMT
10
对象(Object)
❖ 对象(Object)是客观事物或概念的抽象表述,即对客观存 在的事物的描述统称为对象,对象可以是事、物、或抽象 概念 ,是将一组数据和使用该数据的一组基本操作或过程 封装在一起的实体。
11
对象(Object)
❖ 对象都存在一定的状态(state),内部标识(identity),可以 给对象定义一组运算(operation),对象通过其运算所展示的 特定行为称为对象行为(behavior),对象本身的性质称为属 性(attribute),对象将它自身的属性及运算“包装起来”, 称为“封装”(encapsulation).