什么是c++中的多态
2015-10-02 20:51
267 查看
此文转载于(http://blog.csdn.net/applebite)
什么是c++中的多态
引言多态(Polymorphism)、封装(Encapsulation)和继承(Inheritance)是面向对象思想的“三大特征”,此处俗称“面向对象的三板斧”,而多态是三板斧中最厉害的杀招,是面向对象最精微的内功,可以说,不理解多态就不懂得什么是面向对象。
定义
同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。
简单地概括为“一个接口,多种方法”。
类别
(1)编译时的多态性。
编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。(参考我的博文《c++中的函数重载》)
(2)运行时的多态性。
运行时的多态性就是指直到系统运行时,才根据实际情况决定实现何种操作。C++中,运行时的多态性通过虚成员实现。
作用
多态的目的则是为了接口重用。也就是说,不论传递过来的究竟是那个类的对象,函数都能够通过同一个接口调用到适应各自对象的实现方法。
相关文章推荐
- C语言的动态数组函数的sizeof、malloc和free
- hduacm 5480 Conturbatio前缀和
- 程序设计基石与实践之C语言指针和数组基础
- C++静态库与动态库
- Google C++ Style Guide的哲学
- Google C++ Style Guide的哲学
- C++学习笔记之类模板
- 一起talk C栗子吧(第五十二回:C语言实例--最小生成树四)
- C++学习笔记之运算符重载例子
- c++primer学习:顺序容器(1)
- 一起talk C栗子吧(第五十一回:C语言实例--最小生成树三)
- C++内联函数(内嵌函数,内置函数)
- C++虚析构函数详解
- 黑马程序员----C语言学习笔记之学习总结《通讯录》程序实现
- c++工厂模式
- Effective c++读书笔记三
- c语言的指针
- c++计算学分绩点代码
- 【C语言】双向链表的实现
- [C/C++]重读《The C Programming Language》