第一章面向对象技术概述_第1页
第一章面向对象技术概述_第2页
第一章面向对象技术概述_第3页
第一章面向对象技术概述_第4页
第一章面向对象技术概述_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章第一章 面向对象技术面向对象技术概述概述1.1 概述概述1.2 面向对象语言发展面向对象语言发展 历史历史1.3 面向对象技术的作面向对象技术的作 用用 1.4 面向对象技术的应面向对象技术的应 用用 课程内容 面向对象技术:(简要介绍) 1. 面向对象分析 2. 面向对象设计 面向对象语言: C+ (重点讲解) 学习方法 清楚地了解算法的结构和流程 清楚地了解语言的功能 第一章第一章 面向对象技术面向对象技术概述概述1.1 概述概述1.2 面向对象语言发展面向对象语言发展 历史历史1.3 面向对象技术的作面向对象技术的作 用用 1.4 面向对象技术的应面向对象技术的应 用用 学习要求:

2、 了 解 并 掌 握 面 向 对 象 技 术 ( O b j e c t - O r i e n t e d Technique,OOT)的基本概念 理解并掌握面向对象编程语言 C+基本内容 能应用C+语言编写应用程序第一章第一章 面向对象技术面向对象技术概述概述1.1 概述概述1.2 面向对象语言发展面向对象语言发展 历史历史1.3 面向对象技术的作面向对象技术的作 用用 1.4 面向对象技术的应面向对象技术的应 用用非面向对象语言 Fortran (50年代 中期) Algol (60年代) Pascal (68年 ) Basic (64年 ) C 语言 (72年 Dennis Ritch

3、ie 创建 面向对象语言 Simula (60年代后期) Ada (70年代前期) Smalltalk (72年开始) C (80年由Bell 公司Stroustrup 创建) Java (94年由SUN 公司 创建) 1.2 面向对象语言发展历史 第一章第一章 面向对象技术面向对象技术概述概述1.1 概述概述1.2 面向对象语言发展面向对象语言发展 历史历史1.3 面向对象技术的作面向对象技术的作 用用 1.4 面向对象技术的应面向对象技术的应 用用在软件开发过程中主要有以下作用:1. 提高生产效率。表现在:程序重用共享2. 降低维护复杂性。表现在:程序模块化3. 开发大型软件。主要表现在:

4、 抽象模型更接近现实世界。 模型与程序易于理解 程序具有重用性和模块化 软件易于维护1.3 面向对象技术的作用第一章第一章 面向对象技术面向对象技术概述概述1.1 概述概述1.2 面向对象语言发展面向对象语言发展 历史历史1.3 面向对象技术的作面向对象技术的作 用用 1.4 面向对象技术的应面向对象技术的应 用用1. 面向对象数据库 (OODB Object-Oriented Database)2. 面向对象的系统模拟3. 面向对象的人机交互图形用户界面 (GUI , Graphic User Interface)4. 人工智能和知识工程5. 计算机辅助软件工程 ( CASE, Comput

5、er-Aided Software Engineering)6. 计算机网络设计模拟1.4 面向对象技术的应用第二章第二章 面向对象技术面向对象技术的基本特征的基本特征2.1 对象对象2.2 类类2.3 3 封装封装2.4 继承继承2.5 消息消息2.6 6 结构与连接结构与连接2.7 多态性多态性主要特征:对象、类、封装、继承、消息、 结构与连接、 及多态性.2.1 对象 ( object )实体对象 一台计算机第二章 面向对象技术的基本特征抽象对象 一项计划什么是对象: 用来描述客观事物的一个实 体,它是构成系统的一个基 本单元。一个对象由一组属 性和服务组成。对象构成要素: 1.对象标识

6、符(对象名) 2.属性 3.服务第二章第二章 面向对象技术面向对象技术的基本特征的基本特征2.1 对象对象2.2 类类2.3 3 封装封装2.4 继承继承2.5 消息消息2.6 6 结构与连接结构与连接2.7 多态性多态性属性: 是用来描述对象静态特征的 一个数据项。服务: 是用来描述对象动态特征和行为的 一个操作。标识符:是对象的名称,用来区别与 其他对象。对象名属性服务学号、姓名、专业、性别、年龄、身份证号、电话等等获取和修改学号、姓名、专业、性别、年龄等等( 表一 )例题 1:考虑对象 “学生”,具体描述为:第二章第二章 面向对象技术面向对象技术的基本特征的基本特征2.1 对象对象2.2

7、 类类2.3 3 封装封装2.4 继承继承2.5 消息消息2.6 6 结构与连接结构与连接2.7 多态性多态性学生注意点注意点: 1. 一体性 三者成为一体2. 区别 三者的区别 例题 2:对象 “课程” 的有关抽象描述。对象名属性服务课程课程名、编号、学时数、选课要求、任课教师等获取并修改课程名、编号、学时数、选课要求、任课教师等(表二 )注意点: 1. 属性是对对象的静态描述. 2. 服务是对对象的动态描述. 外部是通过调用服务与对 象取得联系.第二章第二章 面向对象技术面向对象技术的基本特征的基本特征2.1 对象对象2.2 类类2.3 3 封装封装2.4 继承继承2.5 消息消息2.6

8、6 结构与连接结构与连接2.7 多态性多态性第二章第二章 面向对象技术面向对象技术的基本特征的基本特征2.1 对象对象2.2 类类2.3 3 封装封装2.4 继承继承2.5 消息消息2.6 6 结构与连接结构与连接2.7 多态性多态性什么是类 是具有相同属性和服务的集 合,它提供对对象的抽象描述 2. 2 类 ( class )类与对象的关系 类 对象 抽象定义 实例 例题3. 模具 由模具压出的工件 学生 学生王强 模板 应用模板产生的文件 类型 变量, 如 C 语言中的 int 和 int x; 第二章第二章 面向对象技术面向对象技术的基本特征的基本特征2.1 对象对象2.2 类类2.3

9、3 封装封装2.4 继承继承2.5 消息消息2.6 6 结构与连接结构与连接2.7 多态性多态性类的分类 抽象类, 基类(父类), 派生类(子类), 等等 基 类 运用抽象原则,舍弃对象的 特殊性,提取对象的共同性, 得到的一个对象集的类. 派生类 在基类的基础上,再考虑在 抽象过程中被舍弃的对象 的特殊性,而产生的新类.例题4:若考虑类“学生”,则类“大学生” 和“中学生”就是它的派生类。类 “学生”是它们的基类。 第二章第二章 面向对象技术面向对象技术的基本特征的基本特征2.1 对象对象2.2 类类2.3 3 封装封装2.4 继承继承2.5 消息消息2.6 6 结构与连接结构与连接2.7

10、多态性多态性基类与派生类的关系 派生类具有基类的全部 特征。 派生类有自己的特征, 不完全等于基类。 它们有继承关系,派生 类是基类的子集。分类的目的和意义 对现实世界的实体进行 分类,便于应用OOT。 直观地,正确地,有层 次地表达现实世界。例如,基类“学生”和派生类“大学生” 的关系。 2.1 对象对象2.2 类类2.3 3 封装封装2.4 继承继承2.5 消息消息2.6 6 结构与连接结构与连接2.7 多态性多态性考虑运输工具这个实体,它包含了车辆,车辆又包含机动车和非机动车,机动车又包含轿车和卡车等等。如果建一基类“机动车”,则“轿车”和“卡车”就是“机动车”的派生类,而“车辆”可以是

11、基类“机动车”的基类。即基类可以有基类,派生类可以有派生类。例题5:第二章第二章 面向对象技术面向对象技术的基本特征的基本特征第二章第二章 面向对象技术面向对象技术的基本特征的基本特征2.1 对象对象2.2 类类2.3 3 封装封装2.4 继承继承2.5 消息消息2.6 6 结构与连接结构与连接2.7 多态性多态性车辆客车 卡车 轿车面包车机动车越野车普通车大客车非机动车图一:车辆类层次图第二章第二章 面向对象技术面向对象技术的基本特征的基本特征2.1 对象对象2.2 类类2.3 3 封装封装2.4 继承继承2.5 消息消息2.6 6 结构与连接结构与连接2.7 多态性多态性类名属性 服务Pe

12、rsonID, Name, Add,.GetID, GetName,ChID, ChName,.例题6:类“课程”的表示CourseCID, CName, Credit,Term, NoteGetID, GetName,GetCredit,GetNoteChID, ChName,ChCredit,ChNote类的表示第二章第二章 面向对象技术面向对象技术的基本特征的基本特征2.1 对象对象2.2 类类2.3 3 封装封装2.4 继承继承2.5 消息消息2.6 6 结构与连接结构与连接2.7 多态性多态性类名,属性,服务的命名注意点 标识符(即名字)要达义。 要简明,短小,符合人的思维习惯。 类

13、名宜用名词或动名词, 属性名用名词或动名词, 服务名用动词 或动名词。第二章第二章 面向对象技术面向对象技术的基本特征的基本特征2.1 对象对象2.2 类类2.3 3 封装封装2.4 继承继承2.5 消息消息2.6 6 结构与连接结构与连接2.7 多态性多态性 仓库属性服务价格表,物品, 帐单,电话, 等等提供物品, 帐单等等(图二) 2.3 封装( (encapsulation) ) 例7:抽象考虑一个仓库,外部只能通过管理员获取物品。第二章第二章 面向对象技术面向对象技术的基本特征的基本特征2.1 对象对象2.2 类类2.3 3 封装封装2.4 继承继承2.5 消息消息2.6 6 结构与连

14、接结构与连接2.7 多态性多态性例8: 考虑类帐户,其表示如下:帐户帐户号,户主,身份证号,地址,电话,密码,存款。修改显示帐户号,户主,身份证号,地址,电话,密码,存款。问题的提出从现实世界的实例表明,类的一些消息需要保护,外界不能随意提取修改,OOT的封装就提供这一需求。第二章第二章 面向对象技术面向对象技术的基本特征的基本特征2.1 对象对象2.2 类类2.3 3 封装封装2.4 继承继承2.5 消息消息2.6 6 结构与连接结构与连接2.7 多态性多态性什么是封装把对象的属性和服务结合成一个独立的单元,并尽可能荫蔽对象的内部细节。封装的特点1. 一个清楚的边界。 所有对象的成分都在 这

15、个边界内。2. 一个接口。 外部通过这个接口访 问对象的内部成员。第二章第二章 面向对象技术面向对象技术的基本特征的基本特征2.1 对象对象2.2 类类2.3 3 封装封装2.4 继承继承2.5 消息消息2.6 6 结构与连接结构与连接2.7 多态性多态性需要更多的输入输出函数。 封装的优点1. 数据独立 (如每件事 物都对应于一对象)2.具有隐藏性和安全性 (如银行的帐户)3.易于维护(由于数据 独立,易于发现问题) 封装的缺点第二章第二章 面向对象技术面向对象技术的基本特征的基本特征2.1 对象对象2.2 类类2.3 3 封装封装2.4 继承继承2.5 消息消息2.6 6 结构与连接结构与

16、连接2.7 多态性多态性 特殊类具有普通类的 所有特性和服务 是类之间的一种关系 是OOT 的要点之一 2.4 继承(inheritance)(inheritance) 什么是继承 继承的特点 设 A 为基类, B 为派生类。1. 共享性: 派生类具有基类所有特征, 即:A B2. 区别性: 派生类不等于基类,即 AB 3. 层次性: 表示了类之间的关系第二章第二章 面向对象技术面向对象技术的基本特征的基本特征2.1 对象对象2.2 类类2.3 3 封装封装2.4 继承继承2.5 消息消息2.6 6 结构与连接结构与连接2.7 多态性多态性例9:车辆的继承关系车辆非机动车客车 卡车 轿车机动车

17、例10:人类按职业划分的一种继承关系人学生工人教师农民中学生大学生研究生讲师教授第二章第二章 面向对象技术面向对象技术的基本特征的基本特征2.1 对象对象2.2 类类2.3 3 封装封装2.4 继承继承2.5 消息消息2.6 6 结构与连接结构与连接2.7 多态性多态性继承的优点 1. 减少原代码, 即代码可重用。2. 代码的相互独立性。3. 易于维护。4. 体现自然界之间 的关系。第二章第二章 面向对象技术面向对象技术的基本特征的基本特征2.1 对象对象2.2 类类2.3 3 封装封装2.4 继承继承2.5 消息消息2.6 6 结构与连接结构与连接2.7 多态性多态性 2.5 消息(mess

18、age)(message) 什么是消息 消息是向对象发出的 服务请求1. 对象标志2. 服务标志 3. 输入信息4. 输出信息消息的组成例11:“请你把那本书拿给我!” 对象标志: 你 服务标志: 把那本书拿给我 输入信息: 那本书 输出信息: 书给我第二章第二章 面向对象技术面向对象技术的基本特征的基本特征2.1 对象对象2.2 类类2.3 3 封装封装2.4 继承继承2.5 消息消息2.6 6 结构与连接结构与连接2.7 多态性多态性消息的作用1. 提供类之间的动态联系2. 对象通过消息对外提供服务消息的执行流程创建对象发送消息分析处理消息返回相应信息结束接受消息第二章第二章 面向对象技术

19、面向对象技术的基本特征的基本特征2.1 对象对象2.2 类类2.3 3 封装封装2.4 继承继承2.5 消息消息2.6 6 结构与连接结构与连接2.7 多态性多态性对象A: 打印机对象B: 操作系统接受消息发送打印消息执行返回信息结束接受信息在例题中: 对象标志: 打印机, 服务标志: 打印输入信息: 要打印的文件 输出信息: 打印结束分析两个对象 “打印机” 和“操作系统” 之间的消息通信.例12:第二章第二章 面向对象技术面向对象技术的基本特征的基本特征2.1 对象对象2.2 类类2.3 3 封装封装2.4 继承继承2.5 消息消息2.6 6 结构与连接结构与连接2.7 多态性多态性 2.

20、6 结构与连接(structure (structure & connection) ) 分析结构与连接的目的1. 认清对象的分类关系2. 认清对象之间的组成关系3. 认清对象属性之间的静态关系4. 认清对象行为之间的动态关系第二章第二章 面向对象技术面向对象技术的基本特征的基本特征2.1 对象对象2.2 类类2.3 3 封装封装2.4 继承继承2.5 消息消息2.6 6 结构与连接结构与连接2.7 多态性多态性一般 特殊结构 军人军官 士兵义务兵泛化与特化关系例13:一般 特殊结构举例志愿兵第二章第二章 面向对象技术面向对象技术的基本特征的基本特征2.1 对象对象2.2 类类2.3 3 封装封装2.4 继承继承2.5 消息消息2.6 6 结构与连接结构与连接2.7 多态性多态性整体部分结构 汽车发动机车身汽缸组成关系例14:整体 部分结构举例第二章第二章 面向对象技术面向对象技术的基本特征的基本特征2.1 对象对象2.2 类

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论