本博客(
http://blog.csdn.net/livelylittlefish
)贴出作者(三二一、小鱼)相关研究、学习内容所做的笔记,欢迎广大朋友指正!
多态与虚函数
1.多态性
多态的概念:
l 在面向对象的概念中,多态性是指不同对象收到相同消息时,根据对象类不同产生不同的动作。
C++允许程序员发送相同消息到不同的相关对象,而由对象决定如何完成该动作,并且支持软件选择实现决策的时间。其中,运行时的多态是面向对象的程序设计语言所独有的。有人还认为,只有与动态联编相结合的多态才是真正的面向对象的多态。
多态的特点:
l 提供了把接口与实现分开的另一种方法;
l 提高了代码的组织性和可读性,更重要的是它使软件的可扩充性有了充分的提高;
l 是OOP的一个重要特征,提供了丰富的逻辑关系清晰的描述对象方法的手段,提高了软件功能和版本进化的设计维护能力。
C++支持两种多态性:
l 编译时多态:程序运行前发生的事件——函数重载、运算符重载——静态绑定
l 运行时多态:程序运行时发生的事件——虚函数机制 ——动态绑定
2.函数绑定(function call binding)