第12章多态性与虚函数汇编.ppt

第12章多态性与虚函数汇编

湖北大学数计学院计科系 朱明 第12章 多态性与虚函数 12.1 多态性的概念 12.2 一个典型的例子 12.3 虚函数 12.4 纯虚函数与抽象类 12.1 多态性的概念 多态性(polymorphism)是面向对象程序设计的一个重要特征。利用多态性可以设计和实现一个易于扩展的系统。 在C++程序设计中,多态性是指具有不同功能的函数可以用同一个函数名,这样就可以用一个函数名调用不同内容的函数。在面向对象方法中一般是这样表述多态性的: 向不同的对象发送同一个消息,不同的对象在接收时会产生不同的行为(即方法)。也就是说,每个对象可以用自己的方式去响应共同的消息。 从系统实现的角度看,多态性分为两类: 静态多态性和动态多态性。 以前学过的函数重载和运算符重载实现的多态性属于静态多态性,在程序编译时系统就能决定调用的是哪个函数,因此静态多态性又称编译时的多态性。静态多态性是通过函数重载实现的(运算符重载实质上也是函数重载)。 动态多态性是在程序运行过程中才动态地确定操作所针对的对象。它又称运行时的多态性。动态多态性是通过虚函数(virtual function)实现的。 一、静态多态性 静态多态性采用静态联编技术,是指在程序编译阶段就可确定的多态性,又称为编译时的多态性。它有两种实现形式:强制多态和重载多态。 1. 强制多态 将一种类型的值强制转换成为另一种类型的值称为类

文档评论(0)

1亿VIP精品文档

相关文档