




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程,任课教师:程丽 计算机与信息学院,第八章 面向对象基础,8.1 面向对象的概念 8.2 面向对象的开发方法,第八章 面向对象基础,课程的任务、目的和基本要求 理解面向对象的基本概念 了解面向对象的开发方法,第八章 面向对象基础,1.为什么引入面向对象的概念?,2.传统软件工程方法问题 1、难于解决软件重用; 2、难于适应需求变化; 3、分析与设计概念及表示法不一致,第八章 面向对象基础,3.如何引入面向对象的概念? 在解题空间中引入“对象”概念,使之逼真地模拟问题空间中的客观实体,从而达到与人类的思维习惯相一致。,第八章 面向对象基础,传统方法分析与设计之间的鸿沟,第八章 面向对象基础,传统方法与面向对象方法的区别,面向机器 面向代数 面向过程 面向数据 面向人 面向文件 面向信息 面向应用 面向功能 面向数据流 ,面向对象是软件方法学的返朴归真,软件科学的发展历程中出现过许多“面向”,软件开发从过分专业化的方法、规则和技巧中回到了客观世界,回到了人们的日常思维,是软件理论的返朴归真。,面向对象,8.1.1 面向对象的基本概念 8.1.2 面向对象的特征 8.1.3 面向对象的要素,第八章 面向对象基础 8.1 面向对象的概念,1.什么是对象 现实世界中某个具体的物理实体或概念在计算机逻辑中的映射和体现,第八章 面向对象基础 8.1.1 面向对象的基本概念对象,2.对象的含义 在现实世界中:是客观世界中的一个实体 在面向对象程序中:表达成计算机可理解、可操纵、具有一定属性和行为的对象 在计算机世界中:是一个可标识的存储区域,第八章 面向对象基础 8.1.1 面向对象的基本概念对象,3.对象的特点 对象是构成系统的一个基本单位。 对象由一组属性和对这组属性进行操作的一组服务构成。,第八章 面向对象基础 8.1.1 面向对象的基本概念对象,4.属性 属性是用来描述对象静态特征的一个数据项。 5.服务 服务是用来描述对象动态特征的一个操作序列。,第八章 面向对象基础 8.1.1 面向对象的基本概念对象,6.关于对象两点说明 对象只描述事物本质的与系统目标有关的特征。分析过程中过滤掉非本质的与系统目标无关的因素 对象的属性和服务不可分,对象的属性值只能够由对象自身的服务来读取和修改,第八章 面向对象基础 8.1.1 面向对象的基本概念对象,1.什么是类 具有共同属性和行为的对象的抽象,第八章 面向对象基础 8.1.1 面向对象的基本概念类,2.一般类和特殊类 如果类A具有类B的全部属性和全部服务,而且具有自己特有的某些属性或服务,则A叫做B的特殊类,B叫做A的一般类。,第八章 面向对象基础 8.1.1 面向对象的基本概念类,消息 对象之间相互请求或相互协作的途径,是要求某个对象执行某个功能操作的规格说明 消息内容 通常包含接收方及请求接收方完成的功能信息 发送方 发出消息,请求接收方响应 接收方 收到消息后,经过解释,激活方法,予以响应,第八章 面向对象基础 8.1.1 面向对象的基本概念消息,所谓方法,实际上是类对象上所有的各种操作。 方法描述了对象执行操作的算法,响应消息的方法。,第八章 面向对象基础 8.1.1 面向对象的基本概念方法,第八章 面向对象基础 8.1.2 面向对象的特征,1.对象唯一性 2.分类性 3.继承性 4.多态性,1.什么是继承 特殊类拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。,第八章 面向对象基础 8.1.2 面向对象的特征,2.继承的特点 继承意味着自动地拥有,或称隐含地复制,由继承机制保证。 继承简化了人们对事物的认识和描述,非常有益于软件复用,是OO技术提高软件开发效率的重要原因之一。,第八章 面向对象基础 8.1.2 面向对象的特征,3.一般特殊结构 由一组具有继承关系的类所组成的结构称作一般-特殊结构。它是一个以类为结点,以继承关系为边的连通的有向图。,第八章 面向对象基础 8.1.2 面向对象的特征,4.聚合 一个(较复杂的)对象由其它若干(较简单的)对象作为其构成部分,称作聚合。 聚合刻画了现实事物之间的构成关系。,第八章 面向对象基础 8.1.2 面向对象的特征,5.整体-部分结构 由一组具有聚合关系的类所形成的结构称作整体-部分结构。它是一个以类为结点,以聚合关系为边的连通有向图。,第八章 面向对象基础 8.1.2 面向对象的特征,6.多态 不同的对象收到同一消息可产生完全不同的结果,这一现象叫做多态 。,第八章 面向对象基础 8.1.2 面向对象的特征,7.多态的效果 用户发送一个通用的消息,而实现的细节则由接收对象自行决定。,第八章 面向对象基础 8.1.2 面向对象的特征,8.多态性的作用 增强了操作的透明性,可理解性和可扩展性 增强了软件的灵活性和重用性,第八章 面向对象基础 8.1.2 面向对象的特征,第八章 面向对象基础 8.1.3 面向对象的要素,1.抽象 2.封装性 3.共享性 4.强调对象结构而不是程序结构,关于封装 封装是软件开发方法的重要原则,有两个涵义: 把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(对象)。 尽可能隐蔽对象的内部细节(信息隐蔽)。,第八章 面向对象基础 8.1.3 面向对象的要素,封装的重要意义 使对象能够集中而完整地描述并对应一个具体的事物; 体现了事物的相对独立性,使对象外部不能随意存取对象的内部数据,避免了外部错误对它的“感染”; 对象内部的修改对外部的影响很小,减少了修改引起的“波动效应”。,第八章 面向对象基础 8.1.3 面向对象的要素,1.什么是面向对象的开发方法 面向对象的开发方法是一种运用对象、类、继承、封装、聚合、关联、消息、多态性等概念来构造系统的软件开发方法。,第八章 面向对象基础 8.2 面向对象的开发方法,第八章 面向对象基础 8.2 面向对象的开发方法,2.面向对象的开发方法包括哪些内容,第八章 面向对象基础 8.2 面向对象的开发方法,3.面向对象的开发方法涉及软件生命周期的各个阶段,第八章 面向对象基础 8.2 面向对象的开发方法,4.面向对象有哪些开发方法,Berard方法 Booch方法 Coad-Yourdon方法 Firesmith方法 Jacobson方法(OOSE) Martin-Odell方法 Rumbaugh方法(OMT) Seidewitz-Stark方法 Shlaer-Mellor方法 Wirfs-Brock方法 ,5.面向对象开发方法的异同体现在以下几个方面 概念 表示法 系统模型 开发过程 可用性 技术支持,第八章 面向对象基础 8.2 面向对象的开发方法,过程模型,对象层 结构层 主题层 属性层 服务层,不同的方法,不同的OOA模型,Coad-Yourdon方法,动态模型 静态模型,逻辑模型 物理模型,Booch方法,Shlaer-Mellor方法,信息模型,状态模型,Rumbaugh方法(OMT),对象模型,动态模型,功能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年果味啤酒行业当前竞争格局与未来发展趋势分析报告
- 2024年大数据应用及处理技术能力知识考试题库与答案
- 2025年保育员(初级)操作证考试试题及答案
- 2025年全民病毒感染防治基础知识试题与答案
- 2024年江苏省南京市保安员理论考试题库及答案
- (2025年)黑龙江省鸡西市中级会计职称经济法预测试题含答案
- (2025年)山西省晋城市中级会计职称经济法预测试题含答案
- 摔伤安全知识培训总结
- 陕西省汉中市2024-2025学年七年级下学期期末语文试题(解析版)
- 心复苏技术试题及答案
- 排污许可审核方案投标文件(技术方案)
- 临床医学特招考试题及答案2025版
- 2025阿拉尔经济技术开发区第二轮(4人)考前自测高频考点模拟试题附答案详解
- 人社部劳动合同2025年
- 广东珠海万山海洋开发试验区发展改革和政策研究局招聘合同制职员笔试模拟试题附答案详解
- 人工智能助力实验学校教育质量提升实施方案
- 商务寄卖行管理办法
- (建工类考证)水利三类人员考试题目1含答案
- 学前儿童健康学习与发展核心经验
- 年处置12000吨含汞废物改建项目环评资料环境影响
- 乳腺炎个案护理
评论
0/150
提交评论