面向对象软件开发概述精品PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对象、实体与类关系
对象:现实世界中某个具体的物理实体在计算 机逻辑中的映射和体现
类:是一种抽象的数据类型,是同种对象的集 合与抽象。属于类的某一个对象则被称为类的 一个实例
鸭子:类
Hale Waihona Puke Baidu
手表:类
那只红嘴巴的鸭子:对象 老王的手表:对象
1.3.2 对象的关系
包含
当对象A是对象B的属性时,称对象B包含对象A。
抽象
抽象的概念
从特定的实体中抽取共性形成一般化概念的过程 简化了的描述,强调共性,忽略一部分细节 描述——说明 解释——实现 抽象是具有层次的,高层抽象视其低层抽象为它的一种实现 是人们理解复杂现象和求解复杂问题中处理复杂性的重要工具
面向对象的抽象原理
数据抽象
模块化 信息隐藏
数据管理
负责设计系统与数据库的接口
分为四个部分的优点
技术实现上的透明性 可重用性大大提高 维护更容易
问题逻辑部分的任务
对最初的OOA模型进一步细化分析、设计和验证
细化分析包括 ▪ 对类静态数据的确定 ▪ 对类方法的参数、返值、功能实现的明确规定
细化验证包括 ▪ 各对象类公式间的相容性和一致性 ▪ 各个类间、类内成员的访问权限的严格合理性 ▪ 对象类的功能是否符合用户需求
1.4 面向对象的软件开发过程
——需求分析(需求模型:对象模型,动态行为 模型,用户界面模型)
——设计(概要设计,详细设计) ——实现(选择语言,编码,集成,测试)
1.4.1 面向对象的分析
任务:用户需求 OOA模型的设计和表达方法(五个层次)
对象——类层
现实世界到计算机世界(对象、类)的抽象
用户只关心能做什么?如汽车的功能:代步、运输等等 而不必关心具体内部原理,即如何做?
面向对象的程序是由对象组成,这些对象应具有以下特征:
自治性:数据结构和操作合为一体,且私有和公有分开,可 以达到保护、减少干扰、降低复杂性、提高可靠性。
自恰性:可以通过自身定义的操作来管理自己 接口和消息机制:消息隐藏、通过接口体现功能.
面向对象方法 分析(OOA Object Oriented Analysis) 设计(OOD Object Oriented Designed) 实现(OOP Object Oriented Programming)
1.2 面向对象问题求解概述
面向过程
以具体的解题过程为研究和实现的主体
1.1面向对象问题求解的提出
软件开发面临的问题
理论上
如何解决复杂-简化、缩短开发周期、易维护等
语言方面
机器语言-面向过程-面向对象
面向对象的程序设计
结构化程序设计 模块化 数据抽象 信息隐藏 知识表示 并行处理
优点
提高了软件的生产力(可扩充、可重用) 减小了维护开销(复杂性降低、标准件使用) 更接近人的思维活动
对客观世界进行抽象的例子
1 自行车:数据(属性) 车架尺寸 车轮尺寸 牌子 材料名称…
操作 变速 移动 修理…
2 窗口菜单: 数据(属性): 颜色 样式 标题 位置… 操作: 选择 增加 移动…
1.3 对象的属性
1.3.1 对象的属性
对象的状态(又称静态属性)
对象内部所包含的各种信息,即变量。
静态属性层
设计对象的状态及各对象间的约束关系
服务层(方法层)
定义对象和类的动态属性及对象之间的消息通信
结构层
定义系统中的所有对象和类之间的层次结构关系
主题层
划分子系统
1.4.2 面向对象的设计
OOD模型划分为四个部分
问题逻辑
界面管理
负责整个系统的人-机界面设计
任务管理
负责处理并行操作之类的系统资源管理功能的工作
实体
抽 象
抽 象 实例化
类
计算机逻辑的实现 抽象数据类
概念世界
面向对象技术的一个关键的设计思想
让计算机逻辑来模拟现实世界的物理存在
让计算机世界向现实世界靠拢——面向对象 反之让现实向计算机靠拢——面向过程
最终目的
接近自然的思维模式 更接近于现实问题的本来面目的方法、设计 缩短开发周期 易于维护
面向对象
以解决问题中所涉及到的各种对象为主体
面向对象程序设计核心围绕几个概念
抽象数据类型和类 类的层次-子类 继承和多态
对象(Object)-面向对象技术的核心
对象是现实世界的实体或概念在计算机逻辑中的抽象表示 一个对象包含数据结构及相关的操作
例如:某台电视机,特指的某辆汽车
黑盒
对象的引用:可以获取或操作该对象的途径(线索)
例:汽车对象中包含厂商对象的线索(厂名、址、电话…)
注意: 包含和继承 的区别
包含:是整体中不可缺少的一个部分 继承:是在已有之上细化(具体化、扩充),
是一般与特殊的结构关系.
包含和关联 的区别
包含:含有实体 关联:不含实体,只包含与实体相关的线索
行为又称操作或方法(动态属性)
其作用是设置或改变对象的状态
方法(行为)和状态的关系
行为:打开
状态 是否开启 所在频道
以电视机为例
行为:改变频道
方法将对象的内部变量(状态)包裹、 封装、保护
只能通过方法改变状态
方法是对象与外界交互的接口
面向对象的问题求解的最终目的
最终形成一个广泛联系的、可理解的、 可扩充的、可维护的更接近问题原形的 动态对象模型系统
例:电视机——显像管,汽车——发动机
继承
当对象A是对象B的特例时,称对象A继承了对象B。
例:小汽车——(小轿车、小货车、小客车…) 学生——(小学生、中学生、大学生…)
父——公共关系集合 子——除公共以外,有属于自己的特殊属性
关联 当对象A的引用是对象B的属性时,称对象A、B为关联关系
行为共享 进化 确定性
类
类的概念
创建对象的样板 包含外部接口和内部算法以及数据结构的形式 简单化:是同种对象的集合与抽象 例:电脑是一个类(手提式、台式、掌上电脑
…)
实体与对象的关系
实体——现实世界(电视机、汽车) 对象——计算机世界(电视的属性和功能)
计算机世界
对象
映射
现实世界
详细设计原则
充分利用已存在的,可获得的对象类或部件 分析哪些类或哪些功能是可重用的,交专人优先开发 大型项目设专人管理可重用资源,组成类库或其它可重用