- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象程序设计理论篇
《面向对象程序设计》 * 面向对象程序设计 理论篇 武汉大学-资源与环境科学学院-地理信息科学系 教材及参考资料: 《面向对象的理论与C++实践》 王 燕 编著 清华大学出版社 By: 任福 博士 Email: renfu@whu.edu.cn Room: 7-501 第三章:面向对象系统的特性 封装性 继承性 多态性 ◆ 3 . 1封装性 ◆3.1.1什么是封装 第三章:面向对象系统的特性 封装就是将一个数据和与这个数据有关的操作集合放在一起,形成一个能动的实体——对象,用户不必要知道对象行为的实现细节,只需要根据对象提供的外部特性接口访问对象即可。因此,从用户的角度看,就象一个“黑匣子”。 封装的条件: 具有一个清楚的边界; 具有一个接口; 保护内部代码不被其他对象直接修改; ◆ 3 . 1封装性 ◆3.1.2什么是协议 第三章:面向对象系统的特性 协议是一个对象对外服务的说明,是一个对象所能接受的所有公有消息的集合。举例 ◆ 3 . 1封装性 ◆3.1.3 面向对象系统的封装性 第三章:面向对象系统的特性 面向对象的封装性是一种信息隐藏技术: 目的:使用者与开发者分开 系统设计员 —— 表明所提供的服务界面 用户或应用程序员 —— 对象提供一组服务,屏蔽内部 开发程序员 —— 对象实现、编码 涵义:主要是对象的封装,但封装的含义不仅仅是数据隐藏,它意味着任何形式的隐藏,如类的封装。 ◆ 3 . 2 继承性 ◆ 3.2.1 继承的引入 第三章:面向对象系统的特性 继承表达了一种对象类的相交关系 继承的几个特征: 共享:数据和代码 细微差别与新增 层次结构 继承的作用: 减少代码冗余 通过协调减少相互之间的接口和界面 ◆ 3 . 2 继承性 ◆ 3.2.1 继承的分类 第三章:面向对象系统的特性 继承 从继承源划分 从继承内容划分 单继承 多继承 取代继承 包含继承 受限继承 特化继承 说明:继承关系存在与类与类之间 ◆ 3 . 2 继承性 ◆ 3.2.1 继承与封装的关系 第三章:面向对象系统的特性 相似性:都是一种共享代码的手段 继承是一种静态共享代码的手段 封装是一种动态共享代码的手段 区别:针对的层次不同 封装性主要是指对象的封装 继承是类的机制,是一种静态机制 对象是类的实例,也许是派生类的实例 也许是基类的实例 ◆ 3 . 2 继承性 ◆ 3.2.1 继承与委托的关系 第三章:面向对象系统的特性 相似性:节省代码 派生类通过继承共享了基类的代码 委托是一个对象通过其他对象完成操作 区别:性质不同 继承是静态关系 委托既可以静态定义也可以动态定义 ◆ 3 . 2 继承性 ◆ 3.2.1 类的层次 第三章:面向对象系统的特性 类的层次可以清楚有效的表示现实世界中事物的分类问题。 Class A { //… } Class B : public A { //… } Class C : public B { //… } 举例:Visual C++中类的层次 ◆ 3 . 2 继承性 ◆ 3.2.1 单继承与多继承 第三章:面向对象系统的特性 A B C D E A B C D E F ◆ 3 . 2 继承性 ◆ 3.2.1 面向对象系统的继承性 第三章:面向对象系统的特性 继承机制的优点: 清晰体现类层次结构 代码共享以减少冗余 减少接口和界面,容易维护 代码传播的有效手段 是构造、建立和扩充新类的有效手段 ◆ 3 . 3 多态性 ◆ 3.3.1 重载的概念 第三章:面向对象系统的特性 重载的含义是指通过为函数和运算符创建附加定义而使他们的名字可以重载,即相同名字的函数或运算符在不同的场合可以表现出不同的行为。 函数重载 运算符重载 ◆ 3 . 3 多态性 ◆ 3.3.2 虚函数的概念 第三章:面向对象系统的特性 虚函数使用户在一个类等级中可以使用相同函数的多个版本,每一个版本均属于类等级中的不同的类,究竟使用的是哪一个版本需要在运行中决定。 注意:虚函数的各个版本中,其返回值、函数参数的个数和类型必须是一致的。 ◆ 3 . 3 多态性 ◆ 3.3.3 抽象类的概念 第三章:面向对象系统的特性 抽象类的作用在于将许多有关的类组织在一起,提供一个公共的基类,而那些被它组织在一起的具体的类由它派生出来。它刻画了公有行为的特征,并通过继承机制传送给它的派生类。 抽象类只描述与这类对象有关的协议和协议消息的部分实现,完整的实现留给它的派生类来具体完成。 抽象类型是不能创建具体对象的类型,即不能产生实例,只能建立它的派生类的对象。 举 例 《面向对象程序设计
您可能关注的文档
- 需求预测DemandForecasting.ppt
- 需要解说例世博园的自然体验.ppt
- 需求供给和均衡价格.ppt
- 需求挑战VS成功.ppt
- 霍尔磁传感器在智能电表防窃电系统上的应用.ppt
- 露在外面的面.ppt
- 霉菌形态的观察.ppt
- 青少年三叉神经痛的检查工作.ppt
- 露宿者服务工作坊.ppt
- 露天采矿学露天矿边坡稳定性分析与维护.ppt
- 2025-2030中国酪氨酸蛋白磷酸酶非受体1型行业市场发展趋势与前景展望战略研究报告.docx
- 2025-2030中国酪氨酸酶行业市场发展趋势与前景展望战略分析研究报告.docx
- 2025年小学英语毕业考试模拟卷(口语写作提升方法试题).docx
- 2025年初中学业水平考试地理模拟试卷:地理信息技术应用理论试题解析.docx
- 2025年小学语文毕业升学考试全真模拟卷(古诗词文化内涵解读与鉴赏试题).docx
- 2025-2030中国酪蛋白及其衍生物行业市场发展趋势与前景展望战略研究报告.docx
- 2025-2030中国酪蛋白胨行业市场发展趋势与前景展望战略研究报告.docx
- 2025-2030中国酞菁铁行业市场发展趋势与前景展望战略研究报告.docx
- 2025年护士执业资格考试题库(护理伦理学专项)护理伦理道德判断题库.docx
- 2024年陕西省宝鸡市渭滨区高三下学期第八周周测数学试卷.docx
文档评论(0)