一.什么多态?
1.定义:
多态按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。
多态性是允许你将父对象设置成为一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。
多态性在Object Pascal和C++中都是通过虚函数实现的。
2.表现形式:
C++中的多态性具体体现在运行和编译两个方面。运行时多态是动态多态,其具体引用的对象在运行时才能确定。编译时多态是静态多态,在编译时就可以确定对象使用的形式。
实现多态有以下方法:虚函数,抽象类,覆盖,模板(重载和多态无关)。
3.构成条件:
(1) 构成虚函数的重写(函数名,参数列表,返回值相同);
(2) 父类的指针或引用调用虚函数;<