



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第 3 章章 面向对象系统的特性面向对象系统的特性 面向对象系统最突出的特性就是封装性 继承性和多态性 3 1 封装性封装性 1 封装的定义封装的定义 将一个数据和与这些数据有关的操作集合放在一起 形成一个能动的实体 对象 用户不必知道对象行为的实现细节 只需根据对象提供的外部特性 接口访问对象即可 2 协议协议 一个对象对外服务的说明 由一个对象能够接受并且愿意接受的所有信息构成的对外接口 请求对象进行操作的唯一途径 外界能且只能根据该对象发送协议中所提供的消息 请求该对象服务 信息隐藏 抽象数据类型 3 2 继承性继承性 1 类间继承关系 类间继承关系 继承表达对象之间的相交关系 某类对象可以继承另外一类对象的特征 和能力 类间的关系 整体和部分 一般和特殊 若类间具有继承关系 则它们之间应具有下列几个特性 对象对象 协议 服务 用户 应用程序员 服务的具体实现服务的具体实现 昆虫 有翅类无翅类 蛾子蝴蝶苍蝇 1 类间具有共享特征 数据和代码共享 2 类间具有细微的差别和新增部分 3 类间具有层次结构 2 2 继承的作用 继承的作用 1 减少代码冗余 2 通过协调性减少相互之间的接口和界面 c 中派生类的定义 class A class B public A class C public B 3 继承的分类 继承的分类 1 从继承源上分 单继承与多继承 2 从继承内容上分 取代继承 包含继承 受限继承 特化继承 4 继承与委托的关系继承与委托的关系 1 委托 在面向对象系统中 每个操作元素都是一个对象 为了减少 一个操作的实现代码 尽量使用向其它对象发送消息而不再重写代码 2 继承与委托的相同点 节省代码 3 继承与委托性质不同 继承是静态关系 委托既可以静态定义也可以动态定义 5 面向对象系统的继承性面向对象系统的继承性 1 优点 优点 清晰体现相关类间的层次结构关系 减小代码和数据冗余 提高程序可重用性 具体地讲 若类 B 继承类 A 时 则居于 B 中 的对象便具有类 A 的一切性质 数据属性 相功能 操作 称被继承类 A 为基类或父类 或超类 而称继承类 B 为 A 的派生类或子类 因此 要构 造一个新类 B 只需去继承 个与之有共同特征 的基类 A 再描述与基类不同的少量特征 即增加 一些新的数据成员和成员函数 于是 类 B 便由 继承来的和新添加的两部分组成 增强一致性 减少模块间的接口和界面 自动传播代码 在一般类的基础上构造 建立和扩充新类 2 2 继承性的体现 继承性的体现 对操作的继承 行为特性的继承 对数据内容的继承 结构特性的继承 3 33 3 多态性多态性 多态性描述的是同一个消息可以根据发送消息对象的不同采用不同的行为不同的行为 方式 方式 多态性的实现是通过重载 虚函数 抽象类来实现的 1 重载的概念 重载的概念 1 函数重载函数重载 函数名相同 参数不同 函数名相同 参数不同 class number int i float x char s1 public intintint max intmax intmax int a a a return a i a i floatfloatfloat max floatmax floatmax float b b b return b x b x charcharchar max char max char max char c c c return strcmp c s1 0 c s1 3 运算符重载运算符重载 2 虚函数的概念 虚函数的概念 虚函数 在一个类等级中使用相同函数的多个版本 方式有如下两种 1 在基类中声明 virtual 2 在派生类中重新给出定义 运行时的多态性 在运行时决定使用哪一个特定的版本 基类的 派生类的 取决于发送 此消息的对象是属于哪一类的 3 抽象类的概念 抽象类的概念 将许多有关类组织在一起 提供一个公共的基类 刻画公共行为的特征 通过继承机制传递给它的派生类 抽象类只描述与这类对象有关的协议和协议 有关部分消息的部分实现 完整的实现留给它的派生类来实现 派生类是不能派生类是不能 创建具体对象的类 创建具体对象的类 不能参数实例 只能通过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2020-2025年咨询工程师之工程项目组织与管理题库练习试卷B卷附答案
- 做好培训工作课件
- 挖掘安全培训课件
- 培训课件打造
- 2025品牌推广招聘笔试题库及答案
- 2025公务员汉服试题及答案
- 2025公务员广东省试题及答案
- 第二节人口(大单元教学课件)地理人教版2024八年级上册
- 2025年人工智能训练师认证模拟试题及答案(数据标注与模型训练)-机器学习
- 2025公务员分析试题及答案
- 2024年南充五中小升初数学测试题
- 电力安全监护培训课件
- 吊篮安装女儿墙专项安装方案
- 干挂石材脚手架施工方案
- 村务公开申请书
- 喷射混凝土墙体加固方案
- 2024年中级通信专业实务(终端与业务)考试题库(含答案)
- GB/T 4213-2024气动控制阀
- 2025年度杭州汽车租赁合同中的还车检验条款3篇
- 燃气执法培训课件
- 法制视角下自媒体意见表达与法律规制研究
评论
0/150
提交评论