北京邮电大学:《C++大学基础教程》第十一章 多态性

C++大学基础教程 第11章多态性 北京邮电大学电信工程学院 计算机技术中心
2005-4-28 1 C++大学基础教程 第11章 多态性 北京邮电大学电信工程学院 计算机技术中心

◆多态性( Polymorphism)是面向 对象程序设计的主要特征之 多态性对于软件功能的扩展和软 件重用都有重要的作用。是学习 面向对象程序设计必须要掌握的 主要内容之
多态性(Polymorphism)是面向 对象程序设计的主要特征之一。 多态性对于软件功能的扩展和软 件重用都有重要的作用。是学习 面向对象程序设计必须要掌握的 主要内容之一

第十一章多态性 11.1多态性的概念 11.2继承中的静态联编 11.3虚函数和运行时的多态 11.4纯虚函数和抽象类 11.5继承和派生的应用 11.6模板
第十一章 多态性 11.1 多态性的概念 11.2 继承中的静态联编 11.3 虚函数和运行时的多态 11.4 纯虚函数和抽象类 11.5 继承和派生的应用 11.6 模板

1.1多态性的概念
11.1 多态性的概念

1111面向对象程序设计中多态的表现 ◆总的来说,不同对象对于相同的消息有不同的 响应,就是面向对象程序设计中的多态性 ◆具体在程序中,多态性有两种表现的方式 n同一个对象调用名字相同、但是参数不同的函数, 表现出不同的行为。在同一个类中定义的重载函数 的调用,属于这种情况 不同的对象调用名字和参数都相同的函数,表现出 不同的行为。在派生类的应用中,经常会看到这样 的调用。 2005-4-28 北京邮电大学电信工程学院计算机技术中心
2005-4-28 北京邮电大学电信工程学院计算机技术中心 -5- 11.1.1面向对象程序设计中多态的表现 总的来说,不同对象对于相同的消息有不同的 响应,就是面向对象程序设计中的多态性。 具体在程序中,多态性有两种表现的方式: 同一个对象调用名字相同、但是参数不同的函数, 表现出不同的行为。在同一个类中定义的重载函数 的调用,属于这种情况。 不同的对象调用名字和参数都相同的函数,表现出 不同的行为。在派生类的应用中,经常会看到这样 的调用

1111面向对象程序设计中多态的表现 ◆面向对象程序设计中多态性表现为以下几种形 式 重载多态:通过调用相同名字的函数,表现出不同 的行为。运算符重载也是一种重载多态 运行多态:通过基类的指针,调用不同派生类的同 名函数,表现出不同的行为。许多面向对象程序设 计的书籍中所说的多态性,就是这种多态 模板多态,也称为参数多态:通过一个模板,得到 不同的函数或不同的类。这些函数或者类具有不同 的特性和不同的行为 2005-4-28 北京邮电大学电信工程学院计算机技术中心
2005-4-28 北京邮电大学电信工程学院计算机技术中心 -6- 11.1.1面向对象程序设计中多态的表现 面向对象程序设计中多态性表现为以下几种形 式: 重载多态:通过调用相同名字的函数,表现出不同 的行为。运算符重载也是一种重载多态。 运行多态:通过基类的指针,调用不同派生类的同 名函数,表现出不同的行为。许多面向对象程序设 计的书籍中所说的多态性,就是这种多态。 模板多态,也称为参数多态:通过一个模板,得到 不同的函数或不同的类。这些函数或者类具有不同 的特性和不同的行为

1112多态的实现:联编 ◆一个具有多态性的程序语句,在执行的 时候,必须确定究竟是调用哪一个函 数。也就是说,在执行的时候调用哪个 函数是唯一地确定的。确定具有多态性 的语句究竟调用哪个函数的过程称为联 编( Binding),有的资料也翻译成“绑 定 2005-4-28 北京邮电大学电信工程学院计算机技术中心
2005-4-28 北京邮电大学电信工程学院计算机技术中心 -7- 11.1.2 多态的实现:联编 一个具有多态性的程序语句,在执行的 时候,必须确定究竟是调用哪一个函 数。也就是说,在执行的时候调用哪个 函数是唯一地确定的。确定具有多态性 的语句究竟调用哪个函数的过程称为联 编(Binding),有的资料也翻译成“绑 定

1112多态的实现:联编 ◆联编有两种方式:静态联编和动态联 编 ◆在源程序编译的时候就能确定具有多态 性的语句调用哪个函数,称为静态联 编 ◆对于重载函数的调用就是在编译的时候 确定具体调用哪个函数,所以是属于静 态联编 2005-4-28 北京邮电大学电信工程学院计算机技术中心
2005-4-28 北京邮电大学电信工程学院计算机技术中心 -8- 11.1.2 多态的实现:联编 联编有两种方式:静态联编和动态联 编。 在源程序编译的时候就能确定具有多态 性的语句调用哪个函数,称为静态联 编。 对于重载函数的调用就是在编译的时候 确定具体调用哪个函数,所以是属于静 态联编

1112多态的实现:联编 ◆动态联编则是必须在程序运行时,才能够确定 具有多态性的语句究竟调用哪个函数。用动态 联编实现的多态,也称为运行时的多态。以上 所述的几种多态形式中,只有运行多态是属于 动态联编。以后我们会看到,在一个循环中的 同一个语句,第一次循环时调用的是一个函 数,第二次循环时调用的是另一个函数。这种 结果,程序不运行是看不到的。所以称为动态 联编 2005-4-28 北京邮电大学电信工程学院计算机技术中心
2005-4-28 北京邮电大学电信工程学院计算机技术中心 -9- 11.1.2 多态的实现:联编 动态联编则是必须在程序运行时,才能够确定 具有多态性的语句究竟调用哪个函数。用动态 联编实现的多态,也称为运行时的多态。以上 所述的几种多态形式中,只有运行多态是属于 动态联编。以后我们会看到,在一个循环中的 同一个语句,第一次循环时调用的是一个函 数,第二次循环时调用的是另一个函数。这种 结果,程序不运行是看不到的。所以称为动态 联编

1.2继承中的静态联编
11.2 继承中的静态联编
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北京邮电大学:《C++大学基础教程》第十三章 异常处理.pdf
- 北京邮电大学:《C++大学基础教程》第1章 C++初步.pdf
- 襄阳职业技术学院:《计算机组装与维护》第十二章 BIOS设置的习题.doc
- 襄阳职业技术学院:《计算机组装与维护》第四章 内存的习题.doc
- 襄阳职业技术学院:《计算机组装与维护》第五章 外存储器的习题.doc
- 襄阳职业技术学院:《计算机组装与维护》第十章 网络设备的习题.doc
- 襄阳职业技术学院:《计算机组装与维护》第十一章 外围设备的习题.doc
- 襄阳职业技术学院:《计算机组装与维护》第六章 显卡与显示器的习题.doc
- 襄阳职业技术学院:《计算机组装与维护》第二章 CPU习题.doc
- 襄阳职业技术学院:《计算机组装与维护》第三章 主板的习题.doc
- 襄阳职业技术学院:《计算机组装与维护》第九章 机箱和电源的习题.doc
- 襄阳职业技术学院:《计算机组装与维护》第一章 电脑概述习题.doc
- 襄阳职业技术学院:《计算机组装与维护》第七章 声卡与音箱的习题.doc
- 襄阳职业技术学院:《计算机组装与维护》第八章 输入设备的习题.doc
- 襄阳职业技术学院:《计算机组装与维护》教学大纲.doc
- 襄阳职业技术学院:《计算机组装与维护》第二章 中央处理器.ppt
- 襄阳职业技术学院:《计算机组装与维护》第一章 计算机系统概述.ppt
- 襄阳职业技术学院:《计算机组装与维护》第三章 主板.ppt
- 莆田高等专科学校:《网络管理基础》课程教学资源(讲义)第一章 网络技术纵览.doc
- 莆田高等专科学校:《网络管理基础》课程教学资源(讲义)第五章 注册底稿与菜单设计.doc
- 北京邮电大学:《C++大学基础教程》第十二章 I/0流及输入输出.pdf
- 北京邮电大学:《C++大学基础教程》第10章 运算符重载.pdf
- 北京邮电大学:《C++大学基础教程》第3章 过程化语句.pdf
- 北京邮电大学:《C++大学基础教程》第2章 基本数据类型与表达式.pdf
- 北京邮电大学:《C++大学基础教程》第4章 函数.pdf
- 北京邮电大学:《C++大学基础教程》第6章 指针和引用.pdf
- 北京邮电大学:《C++大学基础教程》第5章 数组.pdf
- 北京邮电大学:《C++大学基础教程》第8章 类与对象.pdf
- 北京邮电大学:《C++大学基础教程》第7章 其它自定义数据类型.pdf
- 北京邮电大学:《C++大学基础教程》第9章 继承与派生.pdf
- 浙江大学:《操作系统教程》第十课 操作系统接口.ppt
- 浙江大学:《操作系统教程》第十一课 UNX磁盘文件卷结构.ppt
- 浙江大学:《操作系统教程》第二课 进程的描述和控制.ppt
- 浙江大学:《操作系统教程》第二课 操作系统结构续.ppt
- 浙江大学:《操作系统教程》第一课 操作系统引论.ppt
- 浙江大学:《操作系统教程》第三课 进程的同步和通讯.ppt
- 浙江大学:《操作系统教程》第四课 调度和死锁.ppt
- 浙江大学:《操作系统教程》第六课 虚拟存储器.ppt
- 浙江大学:《操作系统教程》第七课 设备管理.ppt
- 浙江大学:《操作系统教程》第五课 存储器管理.ppt