1、静态绑定和动态绑定的概念
1.1 静态绑定
- 编译时就能确定一条函数调用语句要调用的函数
- 在程序编译时多态性体现在函数和运算符的重载上
1.2 动态绑定
- 运行时才能确定函数调用语句调用的函数
- 程序运行时的多态性通过继承和虚函数来体现
2、多态性的意义和作用
2.1 多态的概念
多态性是面向对象程序设计的重要特征之一
多态性概念:具有继承关系的类,其对象对同一个函数调用可以作出不同的响应
- 同一个函数调用——同一条函数调用语句
- 不同的响应——执行不同的函数
2.2 多态性的优点
多态性有助于更好地对程序进行抽象
- 控制模块能专注于一般性问题的处理
- 具体的操作交给具体的对象去做
多态性有助于提高程序的可扩展性
- 可以把控制模块与被操作的对象分开
- 可以添加已定义类的新对象,并能管理该对象
- 可以添加新类(已有类的派生类)的新对象,并能管理该对象
3、虚函数的定义方法
虚函数的概念:在基类中冠以关键字 virtual 的成员函数
虚函数的定义:
- 函数类型 函数名称(参数列表);
- 如果virtual一个函数在基类中被声明为虚函数,则他在所有派生类中都是虚函数(包括重定义函数)
- 只有通过基类指针或引用调用虚函数才能引发动态绑定(用基类指针指向派生类指针)