文档介绍:第4章面向对象方法学与UML
面向对象的概念
面向对象的软件开发方法
UML概述
UML的事物
UML的关系
UML的图
使用和扩展UML
面向对象的概念
面向对象
对象
类
继承
多态
消息
通信
面向对象
Coad和Yourdon给出的定义:
面向对象=对象+类+继承+通信
如果一个软件系统是使用这样 4 个概念设计和实现的,则我们认为这个软件系统是面向对象的。
一个面向对象的程序的每一成份应是对象,计算是通过新对象的建立和对象之间的通信来执行的。
对象(object)
对象(类对象和实例对象)是面向对象开发模式的基本成份。
每个对象可用它本身的一组属性和它可以执行的一组操作来定义。
属性一般只能通过执行对象的操作来改变。
操作又称为方法或服务,它描述了对象执行的功能,若通过消息传递,还可以为其它对象使用。
类(class)
类是一组具有相同数据结构和相同操作的对象的集合。
类的定义包括一组数据属性和在数据上的一组合法操作。
类定义可以视为一个具有类似特性与共同行为的对象的模板,可用来产生对象。
每个对象都是类的实例(Instance),它们都可使用类中提供的函数。
继承(Inheritance)
继承是使用既存类做为基础建立新类的技术。既存类称为基类、父类或超类,新类称为派生类或子类。
子类除了拥有父类的属性和方法,还可以增加新的属性和方法。
通过覆盖父类的方法,可以对继承来的方法进行修改,也可以禁用继承来的方法。
多态(Polymophism)
根据为请求提供服务的对象不同可以得到不同的行为,这种现象称为多态。
在运行时对类进行实例化,并调用与实例化对象相应的方法,称为动态绑定、后期绑定或运行时绑定。相应地,如果方法的调用是在编译时确定的,则称为是静态绑定、前期绑定或编译时绑定。
通过在子类中覆盖父类的方法实现多态。
消息通信(munication)
消息是一个对象与另一个对象的通信单元,是要求某个对象执行类中定义的某个操作的规格说明。
发送给一个对象的消息定义了一个方法名和一个参数表(可能是空的),并指定某一个对象。
一个对象接收到消息,则调用消息中指定的方法,并将形式参数与参数表中相应的值结合起来。
面向对象的开发方法
面向对象软件开发方法的特征
方法的唯一性即方法是对软件开发过程所有阶段进行综合考虑而得到的。
从生存期的一个阶段到下一个阶段的高度连续性即生存期后一阶段的成果只是在前一阶段成果的补充和修改。
把面向对象分析(OOA)、面向对象设计(OOD)和面向对象程序设计(OOP)集成到生存期的相应阶段。
Rumbaugh方法Rumbaugh和他的同事提出的对象模型化技术(OMT)用于分析、系统设计和对象级设计。分析活动建立三个模型:
对象模型(描述对象、类、层次和关系);
动态模型(描述对象和系统的行为);
功能模型(类似于高层的DFD,描述穿越系统的信息流)。