对象行为的多态:重载和虚函数
上一节
下一节
多态(polymorphism),是指同一种行为在面对不同类型的对象时表现出多种不同的形态。这里,行为其实就是函数名,而行为的表现形态则是函数实现。
因此,通俗地讲,多态就是同一个函数名具有多个函数实现版本,调用该函数可以自动选择合适的函数实现版本。不难推断,实现多态有两个必要条件:
(1)能够使同一个函数名具有多个不同的函数实现版本,即函数多版本;
(2)能够自动为函数调用选择实际对应的函数实现版本,即函数绑定。
在C++语言中,函数重载和虚函数都能满足这种必要条件,支持对象行为多态。其中,函数重载实现的是编译期多态,而虚函数实现的则是运行期多态。
编译期:编译器将源程序翻译成机器语言代码的时期;
运行期:计算机执行机器代码的时期。

