第11讲-面向对象分析与设计讲义

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
方法描述了对象执行操作的算法。
例如:为了Circle类的对象能够响应在屏幕 上显示自己的消息Show(GREEN),在Circle 类中必须给出成员函数Show(int color)的定义 ,也就是要给出成员函数的实现代码。
上海财经大学信息管理与工程学院
第11讲 面向对象分析与设计
面向对象的概念
类 消息:
完成通信,本质上有并行工作的属性。
模块独立性好。对象以数据为中心,操作围绕对其数据所需的处理设置,
没有无关操作,内聚性强;完成对象功能所需的数据和方法封装在对象内部
,与外界联系少,耦合性松。
上海财经大学信息管理与工程学院
面向对象的概念

第11讲 面向对象分析与设计
类:
类是某些对象共同特征的表示 类是创建对象的模板,对象是类的实例 类描述对象的属性名及类型、对象方法的实现途径 类的所有实例(对象)具有相同的属性名称及类型、相同的方法
上海财经大学信息管理与工程学院
面向对象的概念
第11讲 面向对象分析与设计
属性:
类中所定义的数据,它是对客观世界实体所具有的性质的抽象。类的
每个实例都有自己特有的属性值。
例如:Circle类中定义的代表圆心坐标、半 径、颜色等的数据成员,就是圆的属性。
方法:
对象所能执行的操作,也就是类中定义
的服务。
第11讲 面向对象分析与设计
系统分析与设计
上海财经大学信息管理与工程学院
本讲主要内容
▪面向对象方法学概述 ▪面向对象的系统概念 ▪面向对象开发过程 ▪面向对象建模方法
第11讲 面向对象分析与设计
上海财经大学信息管理与工程学院
面向对象方法学概述
第11讲 面向对象分析与设计
面向对象方法学的要点
▪ 客观世界由对象组成;任何事物都是对象;复杂对象可以由简单对象以某种方式
对象是主动的。对象是进行处理的主体,不能从外部直接处理对象的私有
数据,而必须通过它的共有接口向对象发消息,请求它执行某个操作,处理
它的私有数据。
实现了数据封装。对象的私有数据完全被封装,对外隐藏。对私有数据的
访问只需要知道数据取值范围和可以施加的操作,而无法知道数据的具体结
构和实现操作的算法。
本质上具有并行性。不同对象各自独立地处理自身数据,彼此通过发消息
要求某个对象执行类中所定义的某个操作的规格说明。 消息由3个部分组成:
接受消息的对象; 消息选择符(消息名); 零个或者多个参数。
例如:MyCircle是一个半径4厘米,圆心位于 (100,200)的Circle类的对象,也就是 Circle类对象的一个实例。当要求它以绿色 在屏幕上显示自己时,则应该发送下列消息 :
统。
▪ 下层的派生类具有和上层的基类相同的特性(数据和方法)。
▪ 对象间仅能通过传递消息实现彼此通信。
▪ OO= 对象 + 类 + 继承 + 消息通信
上海财经大学信息管理与工程学院
面向对象方法学概述
实体与对象的关系
▪ 实体——现实世界 ▪ 对象——计算机世界
第11讲 面向对象分析与设计
计算机世界
对象

第11讲 面向对象分析与设计
1.封装
实现信息隐藏,对外界隐藏了对象的实现细节。 使用对象时,只需要知道它向外界提供的接口形式,无法知道它的数
据结构细节和实现操作的算法。
对象具有封装性的条件:
有一个清晰边界,所有私有数据和实现操作的代码都封装在这个边界
内,从外部看不见,也不能直接访问。
有确定的接口(即协议)。这些接口就是对象可以接受的消息,只能
MyCircle.Show(GREEN) MyCircle是接受消息的对象名称; Show是消息名; 括号内的GREEN是消息的参数。
上海财经大学信息管理与工程学院
面向对象的概念
面向对象思想的三大特性
面向对象
第11讲 面向对象分析与设计
封装
继承
面向对象的三大特性
多态
上海财经大学信息管理与工程学院
面向对象的概念
利用标准函数库进行重用,标准函数 缺乏柔性,不能适应各种场合的不同 需要。
可维护性 开发围绕功能进行,上层模块控制下 层模块,修改某个模块会影响到上层 和下层模块,稳定性较差。
面向对象技术
数据与操作封装; 让计算机世界向现实世界靠拢
基于构造问题领域的对象模型,软件结构是 根据问题领域的模型构造的,当需求变化时 不会引起软件结构的整体变化,稳定性好
实 例 化
抽 象

映射
现实世界
实体
抽 象
计算机逻辑的实现
抽象数据类
概念世界
上海财经大学信息管理与工程学院
面向对象方法学概述
第11讲 面向对象分析与设计
面向对象与结构化技术的比较
思维方法
源自文库
结构化技术
以算法为核心,数据和过程分离; 让现实向计算机靠拢
稳定性 可重用性
开发过程基于功能分析和功能分解, 软件结构依赖于功能,需求发生变化 引起软件结构的整体修改,系统不稳 定
组合而成。
▪ 把所有对象都划分成各种对象类,每个对象类定义了一组数据和方法。
▪ 类中数据表示对象静态属性,是对象的状态信息; ▪ 类中方法表示对象动态属性,是允许施加在该类对象上的操作; ▪ 类中的方法是该类所有对象共享的,不需要为每个对象都复制操作代码。
▪ 按照子类(派生类)和父类(基类)的关系,把若干对象组成一个层次结构的系
可以通过创建类实例重复使用一个对象类, 继承机制也使得子类可以重用父类代码和数 据结构,而且可以在父类代码基础上修改扩 充。 修改一个类很少会影响其它类,易于测试和 调试。
上海财经大学信息管理与工程学院
面向对象的概念
第11讲 面向对象分析与设计
对象
从软件开发人员角度看,对象是一种将数据和处理这些数据的操作合并在
、相同的消息响应方式
例如:三个圆心位置、半径大小和颜色不同 的圆,是三个不同对象,但都有相同数据( 圆心坐标、半径、颜色)和相同操作(显示 自己、在屏幕上移动、放大缩小半径等), 因此是同一类事物。定义为 Circle类。
注意:对象可以指某个具体对象, 也可以泛指一般对象。当用到实例 时,必然指一个具体对象。
一起的程序单元。
从用户的角度看,对象是一种具有某种属性和服务行为的事物。
操作1 操作2 操作3
状态S 操作1.2.3的实现
上海财经大学信息管理与工程学院
面向对象的概念

对象的特点
第11讲 面向对象分析与设计
以数据为中心。操作围绕对其数据所需要的处理来设置,不设置与这些数
据无关的操作,而且操作结果与当时所处状态(数据值)有关。
相关文档
最新文档