引言
多态(Polymorphism)、封装(Encapsulation)和继承(Inheritance)是面向对象思想的“三大特征”,此处俗称“面向对象的三板斧”,而多态是三板斧中最厉害的杀招,是面向对象最精微的内功,可以说,不理解多态就不懂得什么是面向对象。
定义
同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。
简单地概括为“一个接口,多种方法”。
类别
(1)编译时的多态性。
??编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。(参考我的博文《c++中的函数重载》)
(2)运行时的多态性。
??运行时的多态性就是指直到系统运行时,才根据实际情况决定实现何种操作。C++中,运行时的多态性通过虚成员实现。
作用
多态的目的则是为了接口重用。也就是说,不论传递过来的究竟是那个类的对象,函数都能够通过同一个接口调用到适应各自对象的实现方法。
版权声明:本文为csdn博主[applebite](http://blog.csdn.net/applebite) 原创文章,转载请注明出处,侵权必究。
原文地址:http://blog.csdn.net/applebite/article/details/47283519