现在的位置: 首页 > 综合 > 正文

多态与虚函数

2016年09月27日 ⁄ 综合 ⁄ 共 410字 ⁄ 字号 评论关闭


多态的实现是通过虚函数实现的。
定义: 指相同对象收到不同消息或不同对象收到相同消息时产生不同的实现动作

首先,为什么要用多态,多态是一种“一个接口,多种实现”。使用多态虽然看似无用,但是在大型软件开发的时候,多态就是可以实现可扩展性和代码重用的重要工具。试想,你定义了100个类继承于A类,如果只是使用基类的指针数组的某个元素就可以访问到每一个子类,代码就很优雅,特别是以后如果要添加多200个类,就不用定义200个类的指针的名字然后分别操作,而只需要扩充原来的基类的指针数组就可以了。
所以,一个接口就是基类类型的指针数组,多种实现就是利用这个数组很方便地操作每个类。
也许你会说,这个只不过是兼容类型的功劳,和多态没有关系。
也是,所以虚函数出现了。
这里的巧妙之处就是同样的函数名,通过基类类型的指针居然可以找到派生类的函数而不是它自己的函数。
虽然还是可以用兼容类型来搪塞,不过这种现象就可以称之为多态了(看看多态的定义)。

抱歉!评论已关闭.