8.多态性

第八章 多态性

8.1多态性概述

多态:指同样的消息被不同类型的对象接收时导致不同的行为

消息:指对类的成员函数的调用

分为四类:重载多态、强制多态、包含多态、参数多态

多态从实现角度分为两类:编译时的多态和运行时的多态

绑定:计算机程序自身彼此关联的过程

1. 静态绑定:绑定工作在编译连接阶段完成(早期绑定/前绑定)[重载,强制 和 参数多态]

2. 动态绑定:**********运行 **********晚期*****后******[包含多态]

8.3虚函数

虚函数是动态绑定的基础,是非静态的成员函数。 (本质:覆盖)

Virtual只用来说明类声明中的原型,不能用在函数实现时

具有继承性:基类中声明了虚函数,派生类中无论是否说明,同原型函数都自动为虚函数。

调用方式:通过 基类指针 或 引用 ,执行时会根据指针指向的对象的类,而在派生类中,给出函数的具体实现。

8.4纯虚函数与抽象类

纯虚函数:只给出函数的原型(在基类中说明的虚函数),来规定整个类族的统一接口形式,而在派生类中,给出函数的具体实现。

抽象类:带有纯虚函数的类。

主要作用:通过它为一个类族建立一个公共的接口,使它们能有效地发挥多态特性。

注意

·抽象类只能作为基类来使用

·不能声明抽象类的对象

·可以定义抽象类的指针或引用

原文地址:https://www.cnblogs.com/GraceSkyer/p/6230748.html