C++笔记——多态

来源:互联网 发布:win10软件小助手 编辑:程序博客网 时间:2024/06/08 00:30

同样的方法调用而执行不同操作、运行不同代码。

多态通过分离做什么和怎么做,从另一个角度将接口和实现进行分离。

多态消除了类型之间的耦合关系。

LSP(Liskov替换原则):子类型必须能够替换掉它们的基类型。

多态的概念基于对象引用的动态绑定特性。

多态实现过程:

1. 子类重写父类的方法;

2. 代码中向父类型变量发出消息(静态绑定---编译期);

3. 运行时,根据变量实际引用的对象类型决定调用哪个方法(动态绑定---运行期)。

动态绑定是多态现象的根源。

虚函数与抽象类。

class Animal{

      virtual ~Animal();

      virtual void makeSound();

};

纯虚函数与接口类。接口类不能实例化,不能生成对象实例。

class Animal{

      virtual ~Animal() = 0;

      virtual void makeSound() = 0;

};




原创粉丝点击