面向对象软件开发概述课件.ppt
《面向对象软件开发概述课件.ppt》由会员分享,可在线阅读,更多相关《面向对象软件开发概述课件.ppt(57页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象软件开发概面向对象软件开发概述述第1页,此课件共57页哦n1.11.1面向对象问题求解的提出面向对象问题求解的提出q软件开发面临的问题软件开发面临的问题n理论上理论上q如何解决复杂如何解决复杂-简化、缩短开发周期、易维护等简化、缩短开发周期、易维护等n语言方面语言方面q机器语言机器语言-面向过程面向过程-面向对象面向对象n面向对象的程序设计面向对象的程序设计q结构化程序设计结构化程序设计 q模块化模块化q数据抽象数据抽象q信息隐藏信息隐藏q知识表示知识表示q并行处理并行处理第2页,此课件共57页哦n优点优点q提高了软件的生产力(提高了软件的生产力(可扩充、可重用可扩充、可重用)q减小了
2、维护开销减小了维护开销(复杂性降低、标准件使用复杂性降低、标准件使用)q更接近人的思维活动更接近人的思维活动n面向对象方法面向对象方法q分析(分析(OOA OOA Object Oriented AnalysisObject Oriented Analysis)q设计(设计(OODOOD Object Oriented DesignedObject Oriented Designed)q实现(实现(OOPOOP Object Oriented ProgrammingObject Oriented Programming)第3页,此课件共57页哦1.2 1.2 面向对象问题求解概述面向对象问题求
3、解概述n面向过程面向过程q以具体的解题以具体的解题过程过程为研究和实现的主体为研究和实现的主体n面向对象面向对象q以解决问题中所涉及到的各种以解决问题中所涉及到的各种对象对象对象对象为主体为主体n面向对象程序设计核心围绕几个概念面向对象程序设计核心围绕几个概念q抽象数据类型和类抽象数据类型和类q类的层次类的层次-子类子类q继承和多态继承和多态第4页,此课件共57页哦n对象对象(ObjectObject)-面向对象技术的核心面向对象技术的核心q对象是现实世界的实体或概念在计算机逻辑中的抽象表示对象是现实世界的实体或概念在计算机逻辑中的抽象表示q一个对象包含数据结构及相关的操作一个对象包含数据结构
4、及相关的操作n例如:某台电视机,特指的某辆汽车例如:某台电视机,特指的某辆汽车q黑盒黑盒n用户用户只关心能做什么?如汽车的功能:代步、运输等等只关心能做什么?如汽车的功能:代步、运输等等n而不必关心具体内部原理,即如何做?而不必关心具体内部原理,即如何做?q面向对象的程序是由对象组成,这些对象应具有以下特征:面向对象的程序是由对象组成,这些对象应具有以下特征:n自治性:自治性:数据结构和操作合为一体,且私有和公有分开,可以达到保护、数据结构和操作合为一体,且私有和公有分开,可以达到保护、减少干扰、降低复杂性、提高可靠性。减少干扰、降低复杂性、提高可靠性。n自恰性:自恰性:可以通过自身定义的操作
5、来管理自己可以通过自身定义的操作来管理自己n接口和消息机制:接口和消息机制:消息隐藏、通过接口体现功能消息隐藏、通过接口体现功能.第5页,此课件共57页哦n抽象抽象q抽象的概念抽象的概念n从特定的实体中抽取共性形成一般化概念的过程从特定的实体中抽取共性形成一般化概念的过程n简化了的描述,强调共性,忽略一部分细节简化了的描述,强调共性,忽略一部分细节n描述描述说明说明n解释解释实现实现n抽象是具有层次的,高层抽象视其低层抽象为它的一种实现抽象是具有层次的,高层抽象视其低层抽象为它的一种实现是人们理解复杂现象和求解复杂问题中处理复杂性的重要工具是人们理解复杂现象和求解复杂问题中处理复杂性的重要工具
6、q面向对象的抽象原理面向对象的抽象原理n数据抽象数据抽象q模块化模块化q信息隐藏信息隐藏n行为共享行为共享n进化进化n确定性确定性第6页,此课件共57页哦n类类q类的概念类的概念n创建对象的样板创建对象的样板n包含外部接口和内部算法以及数据结构的形式包含外部接口和内部算法以及数据结构的形式n简单化:是同种对象的集合与抽象简单化:是同种对象的集合与抽象n例:电脑是一个类(手提式、台式、掌上电脑例:电脑是一个类(手提式、台式、掌上电脑)第7页,此课件共57页哦n实体与对象的关系实体与对象的关系q实体实体现实世界(电视机、汽车)现实世界(电视机、汽车)q对象对象计算机世界(电视的属性和功能)计算机世
7、界(电视的属性和功能)对象对象计算机世界计算机世界 类类现实世界现实世界实体实体抽象数据类抽象数据类映射映射计算机逻辑的实现计算机逻辑的实现实实例例化化抽抽象象抽抽象象概念世界概念世界第8页,此课件共57页哦n面向对象技术的一个关键的设计思想面向对象技术的一个关键的设计思想q让计算机逻辑来模拟现实世界的物理存在让计算机逻辑来模拟现实世界的物理存在n让计算机世界向现实世界靠拢让计算机世界向现实世界靠拢面向对象面向对象n反之让现实向计算机靠拢反之让现实向计算机靠拢面向过程面向过程q最终目的最终目的n接近自然的思维模式接近自然的思维模式n更接近于现实问题的本来面目的方法、设计更接近于现实问题的本来面
8、目的方法、设计n缩短开发周期缩短开发周期n易于维护易于维护第9页,此课件共57页哦对客观世界进行抽象的例子对客观世界进行抽象的例子1 1 自行车:自行车:数据(属性)数据(属性)车架尺寸车架尺寸车轮尺寸车轮尺寸牌子牌子材料名称材料名称 操作操作变速变速移动移动修理修理第10页,此课件共57页哦2 2 窗口菜单:窗口菜单:数据(属性):数据(属性):颜色颜色样式样式标题标题位置位置操作:操作:选择选择增加增加移动移动第11页,此课件共57页哦1.3 1.3 对象的属性对象的属性n1.3.1 1.3.1 对象的属性对象的属性q对象的状态对象的状态(又称静态属性)(又称静态属性)n对象内部所包含的各
9、种信息,即变量。对象内部所包含的各种信息,即变量。q行为又称操作或方法行为又称操作或方法(动态属性)(动态属性)n其作用是设置或改变对象的状态其作用是设置或改变对象的状态q方法方法(行为)和状态的关系行为)和状态的关系状态状态是否开启是否开启所在频道所在频道行为:打开行为:打开行为:改变频道行为:改变频道以电视机为例第12页,此课件共57页哦 n方法将对象的内部变量(状态)包裹、封装、方法将对象的内部变量(状态)包裹、封装、保护保护n只能通过方法改变状态只能通过方法改变状态n方法是对象与外界交互的接口方法是对象与外界交互的接口q面向对象的问题求解的面向对象的问题求解的最终目的最终目的n最终形成
10、一个广泛联系的、可理解的、可扩最终形成一个广泛联系的、可理解的、可扩充的、可维护的更接近问题原形的动态对象充的、可维护的更接近问题原形的动态对象模型系统模型系统第13页,此课件共57页哦对象、实体与类关系对象、实体与类关系对象:现实世界中某个具体的物理实体在计算对象:现实世界中某个具体的物理实体在计算 机逻辑中的映射和体现机逻辑中的映射和体现类:是一种抽象的数据类型,是同种对象的集合与抽类:是一种抽象的数据类型,是同种对象的集合与抽象。属于类的某一个对象则被称为类的一个实例象。属于类的某一个对象则被称为类的一个实例鸭子:类鸭子:类那只红嘴巴的鸭子:对象那只红嘴巴的鸭子:对象手表:类手表:类老王
11、的手表:对象老王的手表:对象第14页,此课件共57页哦n1.3.2 1.3.2 对象的关系对象的关系q包含包含n当对象当对象A A是对象是对象B B的属性时,称对象的属性时,称对象B B包含对象包含对象A A。q例:电视机例:电视机显像管,汽车显像管,汽车发动机发动机q继承继承n当对象当对象A A是对象是对象B B的特例时,称对象的特例时,称对象A A继承了对象继承了对象B B。q例:小汽车例:小汽车(小轿车、小货车、小客车(小轿车、小货车、小客车)学生学生(小学生、中学生、大学生(小学生、中学生、大学生)q父父公共关系集合公共关系集合q子子除公共以外,有属于自己的特殊属性除公共以外,有属于自
12、己的特殊属性q关联关联n当对象当对象A A的引用是对象的引用是对象B B的属性时,称对象的属性时,称对象A A、B B为关联关系为关联关系n对象的引用:可以获取或操作该对象的途径(线索)对象的引用:可以获取或操作该对象的途径(线索)q例:汽车对象中包含厂商对象的线索(厂名、址、电话例:汽车对象中包含厂商对象的线索(厂名、址、电话)第15页,此课件共57页哦n注意注意:q包含和继承包含和继承 的区别的区别n包含:是整体中不可缺少的一个部分包含:是整体中不可缺少的一个部分n继承:是在已有之上细化(具体化、扩充)继承:是在已有之上细化(具体化、扩充),是是一般与特殊的结构关系一般与特殊的结构关系.q
13、包含和关联包含和关联 的区别的区别n包含:含有实体包含:含有实体n关联:不含实体,只包含与实体相关的线索关联:不含实体,只包含与实体相关的线索第16页,此课件共57页哦1.4 1.4 面向对象的软件开发过程面向对象的软件开发过程n需求分析(需求模型:对象模型,动态行为需求分析(需求模型:对象模型,动态行为模型,用户界面模型)模型,用户界面模型)n设计(概要设计,详细设计)设计(概要设计,详细设计)n实现(选择语言,编码,集成,测试)实现(选择语言,编码,集成,测试)第17页,此课件共57页哦n1.4.1 1.4.1 面向对象的分析面向对象的分析q任务:用户需求任务:用户需求qOOAOOA模型的
14、设计和表达方法(五个层次)模型的设计和表达方法(五个层次)n对象对象类层类层q现实世界到计算机世界(对象、类)的抽象现实世界到计算机世界(对象、类)的抽象n静态属性层静态属性层q设计对象的状态及各对象间的约束关系设计对象的状态及各对象间的约束关系n服务层(方法层)服务层(方法层)q定义对象和类的动态属性及对象之间的消息通信定义对象和类的动态属性及对象之间的消息通信n结构层结构层q定义系统中的所有对象和类之间的层次结构关系定义系统中的所有对象和类之间的层次结构关系n主题层主题层q划分子系统划分子系统第18页,此课件共57页哦n1.4.2 1.4.2 面向对象的设计面向对象的设计qOODOOD模型
15、划分为四个部分模型划分为四个部分n n问题逻辑问题逻辑问题逻辑问题逻辑n界面管理界面管理q负责整个系统的人负责整个系统的人-机界面设计机界面设计n任务管理任务管理q负责处理并行操作之类的系统资源管理功能的工作负责处理并行操作之类的系统资源管理功能的工作n数据管理数据管理q负责设计系统与数据库的接口负责设计系统与数据库的接口q分为四个部分的优点分为四个部分的优点n技术实现上的透明性技术实现上的透明性n可重用性大大提高可重用性大大提高n维护更容易维护更容易第19页,此课件共57页哦q问题逻辑部分的任务问题逻辑部分的任务n对最初的对最初的OOAOOA模型进一步细化分析、设计和验证模型进一步细化分析、
16、设计和验证q细化分析包括细化分析包括对类静态数据的确定对类静态数据的确定对类方法的参数、返值、功能实现的明确规定对类方法的参数、返值、功能实现的明确规定q细化验证包括细化验证包括各对象类公式间的相容性和一致性各对象类公式间的相容性和一致性各个类间、类内成员的访问权限的严格合理性各个类间、类内成员的访问权限的严格合理性对象类的功能是否符合用户需求对象类的功能是否符合用户需求n详细设计原则详细设计原则q充分利用已存在的,可获得的对象类或部件充分利用已存在的,可获得的对象类或部件q分析哪些类或哪些功能是可重用的,交专人优先开发分析哪些类或哪些功能是可重用的,交专人优先开发q大型项目设专人管理可重用资
17、源,组成类库或其它可重用结大型项目设专人管理可重用资源,组成类库或其它可重用结构,充分、合理地利用资源构,充分、合理地利用资源第20页,此课件共57页哦n1.4.3 1.4.3 面向对象的实现面向对象的实现编码阶段编码阶段q选择语言选择语言q用语言编码实现详细设计阶段所得公式、图表、用语言编码实现详细设计阶段所得公式、图表、说明和规划等对软件系统各对象类的详尽描述说明和规划等对软件系统各对象类的详尽描述q将类代码模块根据类的相互关系集成(层次)将类代码模块根据类的相互关系集成(层次)q按测试样例进行模块及系统测试,测试可与编码按测试样例进行模块及系统测试,测试可与编码同步完成。同步完成。第21
18、页,此课件共57页哦1.5 1.5 面向对象程序设计的特点面向对象程序设计的特点n抽象抽象-简化描述、抽取共性简化描述、抽取共性n封装封装q所有对象内部软件范围具有清晰的边界所有对象内部软件范围具有清晰的边界q描述该对象与其它对象如何相互作用的接口描述该对象与其它对象如何相互作用的接口q受保护的内部实现受保护的内部实现n继承继承-层次关系、创建新类的一种方法层次关系、创建新类的一种方法n多态多态q不同对象对同一种信息可以按照对象本身的性质加以回应不同对象对同一种信息可以按照对象本身的性质加以回应n动态联编动态联编-运行时真正锁定需要的对象运行时真正锁定需要的对象第22页,此课件共57页哦1.6
19、 1.6 面向对象程序设计方法的优点面向对象程序设计方法的优点n可重用性可重用性q面向对象软件开发的核心思路面向对象软件开发的核心思路n可扩展性可扩展性(快速原型法)(快速原型法)q从简单起,不断补充、延伸从简单起,不断补充、延伸n可管理性可管理性q由于封装,便于管理由于封装,便于管理第23页,此课件共57页哦1.7 第一章小结n面向对象问题的提出和求解的基本过程面向对象问题的提出和求解的基本过程n基本概念基本概念q对象、类、实体及其相互关系对象、类、实体及其相互关系q对象的属性(状态和行为)对象的属性(状态和行为)q对象间的关系对象间的关系n包含:部分包含:部分-整体整体n继承:一般继承:一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 软件 开发 概述 课件
限制150内