《软件工程项目实践教程》教学课件—项目5 面向对象分析与设计技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•
消息的使用类似于函数调用,消息中指定了接收消息的某一个
对象(或实例)名称,一个消息标识符(也称消息名或操作名)和
一个参数表 (零个或多个参数,可能是空的) 。接收消息的实例执行
消息中指定的操作,并将形式参数与参数表中相应的值结合起来。
•
例如: MyCycle.Show(Red);
•
方法是类中操作的实现过程,一个方法通常包含方法名、参数
• 图5.1 对象的表示
图5.2 消息的传递方式
5.1 面向对象基本概念和特征
•2. 类(Class)
•类是具有相同特征(即属性)和行为(或操作)的一组对象的集合。 即类是关于对象的抽象描述,反映了该对象类型的所有对象的性质, 例如:班级类,汽车类等。 •以C++为例,类的一般定义格式如下:
class <类名> { public: <成员函数或数据成员的说明> private: <数据成员或成员函数的说明> }; <各个成员函数的实现>
• 什么叫面向对象?Cord和Yourdon给出如下用公式表示面向对象的定义:
面向对象= 对象+类+继承+通信
即如果一个软件系统是使用这四个概念来设计和实现的,就可以认为该软
件系统是面向对象的。
5.1 面向对象基本概念和特征
•
面向对象技术具有许多特色,一是面向对象方法的唯一性,即面向对
象方法是对软件开发过程所有阶段进行综合考虑而得到的唯一有效方法;
• 所谓封装包含有两方面含义,一个是指把对象的全部属性和全部操作(即 方法)结合起来,形成一个不可分割的独立单位(即对象);另一个是指 信息隐蔽,即尽可能隐蔽对象内部的行为实现细节。
• 类(或对象)是封装的基本单位。在类中定义的接收对方消息的方法称为 类的接口。 封装使对象形成两个部分,接口部分和实现部分。接口部分是 可见的,供外界通过消息来访问该对象,而实现部分不可见。
•一个对象则是其对应类的一个实例(Instance)。 •类和对象的关系是:类是对象的抽象,类是对象的“模板”,类用 于创建对象;对象是类的实例。
5.1 面向对象基本概念和特征
• 3.消息和方法(message and method)
Biblioteka Baidu
•
消息就是两个对象之间传递的信息或发出的服务请求。消息是
对象之间通信的手段,一个对象向另一对象发送消息来请求其服务。
各自相应的实现。即对象根据所接收的消息而做出动作,同样的消息被不 同的对象接收时可导致完全不同的行为的这种现象属于多态性。 • 具有多态的函数或操作在运行时才根据实际的对象类型,执行相应实现程 序的连接,称为动态绑定(Dynamic binding)。即动态绑定是指在执行期 间(非编译期)判断所引用对象的实际类型,根据其实际的类型调用其相 应的方法。动态绑定又称为运行时绑定(runtime binding),它能允许程 序推迟调用正确的方法,直到程序开始执行时。 • 7.重载(Overloading) • 重载方法是指一个类中的方法与另一个方法同名,但是参数表不同,这种 方法称之为重载。重载方法可以分为两种类型:函数重载和运算符重载。 • 函数重载是指在同一作用范围内的若干个参数特征不同的函数可以使用相 同的函数名字。 • 运算符重载是指同一个运算符可以施加于不同类型的操作数上面。
二是面向对象技术中生存期的一个阶段到下一个阶段的高度连续性,即在
一个阶段所用的组成部分与下一个阶段所使用的组成部分是衔接的或无缝
连接的;三是把面向对象分析(OOA)、面向对象的设计(OOD)和面向
对象程序设计(OOP)集成到软件生存期对应的不同阶段。
• 下面就来详细学习有关面向对象的一些基本概念:
• 1. 对象(Object):对象由一组属性和对这组属性进行操作的一组方法 (即服务)组成。如图5.1所示是对象在ROSE中的表示形式
• 继承性有两种类型:一个子类只有唯一的一个父类,这种继承称为单继 承;一个子类也可以有多个父类,它可以从多个父类中继承特性,这种 继承称为多继承。继承具有传递性。
5.1 面向对象基本概念和特征
• 6.多态性(Polymorphism)与动态绑定(Dynamic binding) • 多态性(Polymorphism)是指同名的函数或操作可在不同类型的对象中有
面向对象分析与设计技术
本章 要点
掌握面向对象方法的基本思想、面向对象基
本概念和特征;
理解OOA的主要任务和三种模型的建立方
法,并学会创建三种模型;
理解并掌握OOD模型中四个组成部分及五
个层次的主要设计内容;
了解面向对象程序设计语言,关注面向对象
的开发过程和新技术 。
面向对象分析与设计技术
学习内容
5.1 面向对象基本概念和特征 5.2 面向对象的分析与建模 5.3 面向对象设计 5.4 面向对象的程序设计与实现 5.5 案例分析——网上购书系统的OOA和
OOD报告
5.1 面向对象基本概念和特征
•
面向对象(Object Oriented,OO)是当前计算机界关心的重点,它是90年代
软件开发方法的主流。目前,面向对象的概念和应用已超越了程序设计和软
件开发,扩展到一个很宽的范围。如数据库系统、交互式界面、应用结构、
应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
和方法体。当一个对象接收到一条消息后,它所包含的方法决定对
象该做怎样的处理。对象的内部信息是隐蔽的(私有的),对象私
有的数据是用它的方法来访问的,而对象间的访问只能通过消息来
连接。
5.1 面向对象基本概念和特征
• 4.封装(Encapsulation)
• 封装的目的在于将对象的使用者和对象的设计者分开,使用者不必知道所 访问对象的内部行为细节,只须用设计者提供的消息来访问对象。封装是 一种信息隐蔽技术,用户只能见到对象封装界面上的信息,而对象内部的 实现细节对用户是隐藏的。
5.1 面向对象基本概念和特征
• 5.继承性(Inheritance)
• 继承性是面向对象程序设计语言不同于其他语言的最重要的特点。继承 性是父类和子类之间共享数据和方法的机制,也是类之间的一种关系。
• 如果某几个类之间具有共性的东西 (信息结构和行为),抽取出来放在一 个泛化类中,将各个类的特有东西放在特殊类中分别描述,则可建立起 特殊类对泛化类的继承。继承是使用已有的类定义作为基础建立新类的 定义技术。已有的类可当做基类来引用,则新类相应地可当作派生类来 引用。