多态和动态绑定(polymorphism and dynamic binding)

来源:互联网 发布:演示软件有哪些 编辑:程序博客网 时间:2024/06/08 16:55

FAQ 5.11 多态和动态绑定(polymorphism and dynamic binding)

C++的这种特点使新的代码多少可以替代一些旧的代码:

面向对象程序强大的真正原因不在于继承;而在于它可以将继承类对象当作基类对象来对待,支持这个特性的机制是多态和动态绑定(polymorphism and dynamic binding),

多态允许将一个继承类的对象传递给一个接受基类的引用或指针的函数.接受这种对象的函数被称为多态函数.

当一个多态函数调用一个使用基类引用或指针的成员函数时,动态绑定执行继承类的代码,尽管多态函数可能没有察觉到继承类的存在,这种代码的实现是依赖于对象的类型而不是依赖于引用或指针的类型,继承类的对象代替基类的对象并不需要使用对象的多态函数做任何改变.