第一章 面向对象技术概述.ppt

上传人:registerpick115 文档编号:373840 上传时间:2018-10-05 格式:PPT 页数:33 大小:335KB
下载 相关 举报
第一章 面向对象技术概述.ppt_第1页
第1页 / 共33页
第一章 面向对象技术概述.ppt_第2页
第2页 / 共33页
第一章 面向对象技术概述.ppt_第3页
第3页 / 共33页
第一章 面向对象技术概述.ppt_第4页
第4页 / 共33页
第一章 面向对象技术概述.ppt_第5页
第5页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

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

2、第一章 面向对象技术概述,1.1 概述 1.2 面向对象语言发展历史 1.3 面向对象技术的作用 1.4 面向对象技术的应用,非面向对象语言,Fortran (50年代中期)Algol (60年代)Pascal (68年 )Basic (64年 )C 语言 (72年Dennis Ritchie创建,面向对象语言,Simula (60年代后期)Ada (70年代前期)Smalltalk (72年开始)C (80年由Bell公司Stroustrup 创建)Java (94年由SUN 公司 创建),1.2 面向对象语言发展历史,第一章 面向对象技术概述,1.1 概述 1.2 面向对象语言发展历史 1

3、.3 面向对象技术的作用 1.4 面向对象技术的应用,在软件开发过程中主要有以下作用:,1. 提高生产效率。表现在:程序重用共享 2. 降低维护复杂性。表现在:程序模块化 3. 开发大型软件。主要表现在: 抽象模型更接近现实世界。 模型与程序易于理解 程序具有重用性和模块化 软件易于维护,1.3 面向对象技术的作用,第一章 面向对象技术概述,1.1 概述 1.2 面向对象语言发展历史 1.3 面向对象技术的作用 1.4 面向对象技术的应用,1. 面向对象数据库 (OODBObject-Oriented Database) 2. 面向对象的系统模拟 3. 面向对象的人机交互图形用户界面(GUI

4、, Graphic User Interface) 4. 人工智能和知识工程 5. 计算机辅助软件工程 ( CASE, Computer-Aided Software Engineering) 6. 计算机网络设计模拟,1.4 面向对象技术的应用,第二章 面向对象技术的基本特征,2.1 对象 2.2 类 2.3 封装 2.4 继承 2.5 消息 2.6 结构与连接 2.7 多态性,主要特征:对象、类、封装、继承、消息、结构与连接、 及多态性.,2.1 对象 ( object ),实体对象 一台计算机,第二章 面向对象技术的基本特征,抽象对象 一项计划,什么是对象: 用来描述客观事物的一个实 体

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

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

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

8、 类 运用抽象原则,舍弃对象的特殊性,提取对象的共同性,得到的一个对象集的类.,派生类 在基类的基础上,再考虑在抽象过程中被舍弃的对象的特殊性,而产生的新类.,例题4:若考虑类“学生”,则类“大学生”和“中学生”就是它的派生类。类“学生”是它们的基类。,第二章 面向对象技术的基本特征,2.1 对象 2.2 类 2.3 封装 2.4 继承 2.5 消息 2.6 结构与连接 2.7 多态性,基类与派生类的关系,派生类具有基类的全部特征。派生类有自己的特征,不完全等于基类。它们有继承关系,派生类是基类的子集。,分类的目的和意义,对现实世界的实体进行分类,便于应用OOT。直观地,正确地,有层次地表达现

9、实世界。,例如,基类“学生”和派生类“大学生”的关系。,2.1 对象 2.2 类 2.3 封装 2.4 继承 2.5 消息 2.6 结构与连接 2.7 多态性,考虑运输工具这个实体,它包含 了车辆,车辆又包含机动车和非 机动车,机动车又包含轿车和卡 车等等。如果建一基类“机动车”, 则“轿车”和“卡车”就是“机 动车”的派生类,而“车辆”可 以是基类“机动车”的基类。即 基类可以有基类,派生类可以有 派生类。,例题5:,第二章 面向对象技术的基本特征,第二章 面向对象技术的基本特征,2.1 对象 2.2 类 2.3 封装 2.4 继承 2.5 消息 2.6 结构与连接 2.7 多态性,车 辆,

10、客车,卡车,轿车,面包车,机 动 车,越野车,普通车,大客车,非机动车,图一:车辆类层次图,第二章 面向对象技术的基本特征,2.1 对象 2.2 类 2.3 封装 2.4 继承 2.5 消息 2.6 结构与连接 2.7 多态性,类名,属性,服务,Person,ID, Name, Add,.,GetID, GetName, ChID, ChName,.,例题6:类“课程”的表示,Course,CID, CName, Credit,Term, Note,GetID, GetName,GetCredit,GetNote ChID, ChName,ChCredit,ChNote,类的表示,第二章 面向

11、对象技术的基本特征,2.1 对象 2.2 类 2.3 封装 2.4 继承 2.5 消息 2.6 结构与连接 2.7 多态性,类名,属性,服务的命名注意点,标识符(即名字)要达义。要简明,短小,符合人的思维习惯。类名宜用名词或动名词,属性名用名词或动名词,服务名用动词 或动名词。,第二章 面向对象技术的基本特征,2.1 对象 2.2 类 2.3 封装 2.4 继承 2.5 消息 2.6 结构与连接 2.7 多态性,仓库,属性,服务,价格表,物品, 帐单,电话, 等等,提供物品, 帐单等等,(图二),2.3 封装(encapsulation),例7:,抽象,考虑一个仓库,外部只能通过 管理员获取物

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

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

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

15、讲师,教授,第二章 面向对象技术的基本特征,2.1 对象 2.2 类 2.3 封装 2.4 继承 2.5 消息 2.6 结构与连接 2.7 多态性,继承的优点 ,1. 减少原代码,即代码可重用。 2. 代码的相互独立性。 3. 易于维护。 4. 体现自然界之间的关系。,第二章 面向对象技术的基本特征,2.1 对象 2.2 类 2.3 封装 2.4 继承 2.5 消息 2.6 结构与连接 2.7 多态性,2.5 消息(message),什么是消息,消息是向对象发出的服务请求,1. 对象标志 2. 服务标志 3. 输入信息 4. 输出信息,消息的组成,例11:“请你把那本书拿给我!”对象标志: 你

16、服务标志: 把那本书拿给我输入信息: 那本书输出信息: 书给我,第二章 面向对象技术的基本特征,2.1 对象 2.2 类 2.3 封装 2.4 继承 2.5 消息 2.6 结构与连接 2.7 多态性,消息的作用,1. 提供类之间的动态联系 2. 对象通过消息对外提供服务,消息的执行流程,创建对象,发送消息,分析处理消息,返回相应信息,结束,接受消息,第二章 面向对象技术的基本特征,2.1 对象 2.2 类 2.3 封装 2.4 继承 2.5 消息 2.6 结构与连接 2.7 多态性,对象A: 打印机,对象B: 操作系统,接受消息,发送打印消息,执行,返回信息,结束,接受信息,在例题中:,对象标

17、志: 打印机, 服务标志: 打印 输入信息: 要打印的文件 输出信息: 打印结束,分析两个对象 “打印机” 和 “操作系统” 之间的消息通信.,例12:,第二章 面向对象技术的基本特征,2.1 对象 2.2 类 2.3 封装 2.4 继承 2.5 消息 2.6 结构与连接 2.7 多态性,2.6 结构与连接 (structure & connection),分析结构与连接的目的,1. 认清对象的分类关系 2. 认清对象之间的组成关系 3. 认清对象属性之间的静态关系 4. 认清对象行为之间的动态关系,第二章 面向对象技术的基本特征,2.1 对象 2.2 类 2.3 封装 2.4 继承 2.5

18、消息 2.6 结构与连接 2.7 多态性,一般 特殊结构,军人,军官,士兵,义务兵,泛化与特化关系,例13:,一般 特殊结构举例,志愿兵,第二章 面向对象技术的基本特征,2.1 对象 2.2 类 2.3 封装 2.4 继承 2.5 消息 2.6 结构与连接 2.7 多态性,整体部分结构,汽车,发动机,车身,汽缸,组成关系,例14:,整体 部分结构举例,第二章 面向对象技术的基本特征,2.1 对象 2.2 类 2.3 封装 2.4 继承 2.5 消息 2.6 结构与连接 2.7 多态性,对不同的消息表现 出不同的行为是OOT 的要点之一,2.6 多态性(polymorphism),什么是多态性

19、,例15:几何图形类层次中的多态性。其派 生类“圆”、“长方形”、“三角 形”等都有服务“求面积”。,几何图形,圆,长方形,三角形,第二章 面向对象技术的基本特征,2.1 对象 2.2 类 2.3 封装 2.4 继承 2.5 消息 2.6 结构与连接 2.7 多态性,多态性的作用 ,派生类继承了基类的属性和服务后,可以有自己的不同于基类的数据类型和行为。,第二章 面向对象技术的基本特征,2.1 对象 2.2 类 2.3 封装 2.4 继承 2.5 消息 2.6 结构与连接 2.7 多态性,课堂总结,理解掌握下列OOT特征的定义:对象、类、封装、继承、消息、结构与连接、多态性,类的三个组成部分:类名、属性和服务,理解封装与继承的意义,以及与对现实世界抽象的联系。,消息的作用、结构和组成。,了解两种结构形式:一般特殊结构整体组成结构,多态性的作用。,第二章 面向对象技术的基本特征,2.1 对象 2.2 类 2.3 封装 2.4 继承 2.5 消息 2.6 结构与连接 2.7 多态性,作 业,p.15: 第 1、2、5 题p.99: 第 2、3、4 题,教材 ,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学课件 > 大学教育

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1