C09多态

C++ 多 态 姜义平 * jyp2006@163.com 概述 所谓多态性就是不同对象收到相同的消息时,产生不同的动作。 直观地说,多态性是指用一个名字定义不同的函数,这些函数执行不同但又类似的操作,从而可以使用相同的调用方式来调用这些具有不同功能的同名函数,从而实现“一个接口,多种方法”。 为什么要有多态? 增加了灵活性,提高了可重用性和可扩充性 如:图形的求面积 多态的实现 多态从实现的角度来讲可以划分为两类:编译时的多态和运行时的多态。 编译时的多态是通过静态联编(又前期联编)来实现的。静态联编就是在编译阶段完成的联编。编译时多态性主要是通过函数重载和运算符重载实现的。优点是:效率高。 运行时的多态是用动态联编(又后期或滞后联编)实现的。动态联编是运行阶段完成的联编。运行时多态性主要是通过虚函数来实现的。 优点是:灵活性好,易维护。 根据Bjarne Stoustrup的说法,多态性其实就是方法调用的机制,也就是说当在编译时(静态绑定)无法确定一个对象的实际类型时,应当能够在运行时基于对象的实际类型来决定调用的具体方法(动态绑定)。 本章重点 运算符重载 虚函数 重载(overload),覆盖(override),隐藏(hide) 重载(overlo

文档评论(0)

1亿VIP精品文档

相关文档