下载此文档

继承与多态.ppt


文档分类:IT计算机 | 页数:约26页 举报非法文档有奖
1/26
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/26 下载此文档
文档列表 文档介绍
继承与多态
第一页,课件共26页
第8章 继承与多态
静态多态的实现
动态多态的实现
纯虚函数与抽象基类
静态多态的实现
动态多态的实现
动态多态的实现
掌握静态多态的实现
掌握动态多态的实现
熟悉纯虚函数与抽象基类的应用
第二页,课件共26页
多态性
多态的含义,实现意义及分类
第8章 继承与多态
多态(polymorphism)一词最初来源于希腊语polumorphos,含义是具有多种形式或形态的现象。
在程序设计领域,一个广泛认可的定义是“一种将不同的特殊行为和单个泛化记号相关联的能力”,这里的泛化记号其实指的就是函数名。
多态的含义
第三页,课件共26页
多态性
多态的含义,实现意义及分类
第8章 继承与多态
C++程序中允许大量的同名函数出现,体现出多态的使用价值。
多态的意义
1)对不同的数据类型,采用相同或是相似的操作时,使用同名函数。
2)在程序运行中,在某个环节要调用对象的一个特定的方法,而不管这个对象是由哪一个类创建的,这些类都支持这种方法。
第四页,课件共26页
多态性
多态的含义,实现意义及分类
第8章 继承与多态
C++程序中,按照实现机制,多态可以分为两种
多态的类型
C++语言允许函数重载和运算符重载,使用同样的函数名和同样的运算符来完成不同的数据处理与操作。
C++语言程序中允许存在有若干函数,有完全相同的函数原型,却可以有多种多样的相异的函数体。
overloading
overriding
第五页,课件共26页
多态性
静态多态的实现方法
第8章 继承与多态
函数重载指的是,允许多个不同函数使用同一个函数名,但要求这些同名函数具有不同的参数表(当然,函数体的实现代码通常也不同)。
系统对这种多态性,对同名函数的处理比较简单。在编译过程中就可以确定该函数与程序中的哪一段代码相联系,即在编译时就已确定函数调用语句对应的函数体代码,故称为静态联编(static banding)处理方式。
第六页,课件共26页
多态性
静态多态的实现方法
第8章 继承与多态
示例
void run(int a);
void run(float a);
run(1);
run();
第七页,课件共26页
多态性
动态多态的实现方法
第8章 继承与多态
C++语言程序中允许存在有若干函数,有完全相同的函数原型,却可以有多种多样的相异的函数体,这种现象称为函数的覆盖。
在编译阶段,系统是无法判断此次调用应执行哪一段函数代码。只有到了运行过程中执行到此处时,才能临时判断应执行哪一段函数代码,这种处理方式称为动态联编(dynamic banding)。
第八页,课件共26页
多态性
动态多态的实现方法
1. 虚函数
第8章 继承与多态
虚函数是C++语言中的重要概念。虚函数在编程中的灵活使用,可使程序具有更好的结构和可重用性。
virtual 返回类型 函数名 ( 参数表 ){…… };
示例
virtual void run(int a)
{
……
};
第九页,课件共26页
多态性
动态多态的实现方法
1. 虚函数
第8章 继承与多态
虚函数常用于基类与派生类中
class graphelem
{
//自定义类graphelem,将作为其它图元类的基类
protected:
int color; //颜色color
public:
graphelem(int col)
{
color=col;
}
virtual void draw(){ …… };//基类中含有一个虚函数
virtual ~graphelem() { …… };
};
基类
第十页,课件共26页

继承与多态 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数26
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库新人
  • 文件大小1.35 MB
  • 时间2021-11-30