面向对象的特性——多态性

面向对象的三大特性,不管是面试题还是什么,总会被提及到。封装和继承,是个人应该都能看懂,但是对于多态,本人以前却没有理解透彻。今天就整理一些对多态的理解

多态应该分为两种类型:

1.编译时多态:其实就是重载,是对非虚成员来说的,系统在编译时,根据不同签名来决定实现何种操作。

2.运行时多态:也就是重写,是通过虚成员实现的,指直到系统运行时,才根据实际情况决定实现何种操作。

对与第一种情况很容易就能理解,不同签名就有不同的实现

而第二种情况是在继承的基础上实现的,子类继承基类时,通过对虚成员的重写,然后利用基类引用子类对象,那么不同的子类对象实现相应的不同操作。

这样的好处是显而易见的,利用基类类型定义一次,然后给它传入不同的子类对象,然后实现不同的操作,提高了效率。

posted @ 2015-05-20 01:15  krib  阅读(1743)  评论(0)    收藏  举报