- 1、本文档共50页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程-8第八章面向对象基础
第八章 面向对象基础 第八章 面向对象基础 课程的任务、目的和基本要求 理解面向对象的基本概念 了解面向对象的开发方法 第八章 面向对象基础 2.传统软件工程方法问题 1、难于解决软件重用; 2、难于适应需求变化; 3、分析与设计概念及表示法不一致 第八章 面向对象基础 3.如何引入面向对象的概念? 在解题空间中引入“对象”概念,使之逼真地模拟问题空间中的客观实体,从而达到与人类的思维习惯相一致。 1.什么是对象 现实世界中某个具体的物理实体或概念在计算机逻辑中的映射和体现 3.对象的特点 对象是构成系统的一个基本单位。 对象由一组属性和对这组属性进行操作的一组服务构成。 4.属性 属性是用来描述对象静态特征的一个数据项。 5.服务 服务是用来描述对象动态特征的一个操作序列。 6.关于对象两点说明 对象只描述事物本质的与系统目标有关的特征。分析过程中过滤掉非本质的与系统目标无关的因素 对象的属性和服务不可分,对象的属性值只能够由对象自身的服务来读取和修改 2.一般类和特殊类 如果类A具有类B的全部属性和全部服务,而且具有自己特有的某些属性或服务,则A叫做B的特殊类,B叫做A的一般类。 消息 ? 对象之间相互请求或相互协作的途径,是要求某个对象执行某个功能操作的规格说明 消息内容 ? 通常包含接收方及请求接收方完成的功能信息 发送方 ? 发出消息,请求接收方响应 接收方 ? 收到消息后,经过解释,激活方法,予以响应 所谓方法,实际上是类对象上所有的各种操作。 方法描述了对象执行操作的算法,响应消息的方法。 1.什么是继承 特殊类拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。 3.一般——特殊结构 由一组具有继承关系的类所组成的结构称作一般-特殊结构。它是一个以类为结点,以继承关系为边的连通的有向图。 4.聚合 一个(较复杂的)对象由其它若干(较简单的)对象作为其构成部分,称作聚合。 聚合刻画了现实事物之间的构成关系。 5.整体-部分结构 由一组具有聚合关系的类所形成的结构称作整体-部分结构。它是一个以类为结点,以聚合关系为边的连通有向图。 6.多态 不同的对象收到同一消息可产生完全不同的结果,这一现象叫做多态 。 7.多态的效果 用户发送一个通用的消息,而实现的细节则由接收对象自行决定。 8.多态性的作用 增强了操作的透明性,可理解性和可扩展性 增强了软件的灵活性和重用性 关于封装 封装是软件开发方法的重要原则,有两个涵义: 把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(对象)。 尽可能隐蔽对象的内部细节(信息隐蔽)。 封装的重要意义 使对象能够集中而完整地描述并对应一个具体的事物; 体现了事物的相对独立性,使对象外部不能随意存取对象的内部数据,避免了外部错误对它的“感染”; 对象内部的修改对外部的影响很小,减少了修改引起的“波动效应”。 1.什么是面向对象的开发方法 面向对象的开发方法是一种运用对象、类、继承、封装、聚合、关联、消息、多态性等概念来构造系统的软件开发方法。 2.面向对象的开发方法包括哪些内容 3.面向对象的开发方法涉及软件生命周期的各个阶段 5.面向对象开发方法的异同体现在以下几个方面 概念 表示法 系统模型 开发过程 可用性 技术支持 第八章 面向对象基础 8.1.2 面向对象的特征 1.对象唯一性 2.分类性 3.继承性 4.多态性 第八章 面向对象基础 8.1.2 面向对象的特征 2.继承的特点 继承意味着自动地拥有,或称隐含地复制,由继承机制保证。 继承简化了人们对事物的认识和描述,非常有益于软件复用,是OO技术提高软件开发效率的重要原因之一。 第八章 面向对象基础 8.1.2 面向对象的特征 学生 本科生 研究生 第八章 面向对象基础 8.1.2 面向对象的特征 第八章 面向对象基础 8.1.2 面向对象的特征 学科部 办公室 学院 实验室 第八章 面向对象基础 8.1.2 面向对象的特征 Class A A →print( ) Class geometry { print( ); } A circle A rectangle A triangle geometry 矩形 圆形 三角 第八章 面向对象基础 8.1.2 面向对象的特征 第八章 面向对象基础 8.1.2 面向对象的特征 第八章 面向对象基础 8.1.2 面向对象的特征 第八章 面向对象基础 8.1.3 面向对象的要素 1.抽象 2.封装性 3.共享性 4.强调对象结构而不是程序结构
文档评论(0)