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