多态
同样的消息被不同类型的对象接受,导致不同的行为。
多态分类
1. 重载多态: 普通函数重载, 类成员函数重载, 运算符重载(本文重点讲述)
2. 强制多态: 将一个变元的类型强制加以变化,以符合一个函数或者操作的要求。例如: 整数+浮点数 整数被强制转化为浮点数。
3. 包含多态: 不同类中同名成员函数的多态行为。 主要通过**虚函数实现。(本文重点讲述)
4. 参数多态: 与类模板相关联,在使用时必须赋予实际的类型才可以实例化。由类模板实例化的各个类有相同的操作,而操作对象的类型却各不相同。
多态分类(从实现的角度分类)
- 编译时多态:在编译的过程中确定同名操作的具体操作对象。
- 运行时多态:在程序运行的过程中动态的确定操作的具体对象。
绑定
定义: 把一个标志符名和一个地址联系起来。确定具体对象的过程。 把一个消息和一个对象的方法相结合的过程。
绑定分类
静态绑定(早期绑定,前绑定): 绑定工作在编译链接阶段完成。重载多态,强制多态,参数多态都属于静态绑定。