当一个派生类继承于一个基类时,该派生类在方法和属性上与基类有一定的重合,所以这些派生类的实例对象可以直接调用基类的方法,而无须进行类型转换。
多态性则更推进了一步。在派生于同一个基类的不同对象上执行任务时,多态性是一种极为有效的方式。
所谓多态,就是把某个基本类型的变量(类实例)赋予其派生类型的变量,然后通过强制类型转化把基类的变量转化为派生类型的变量,然后调用派生类的方法。
要注意的是,在使用多态时,并不是只有共享一个父类的类才能利用多态性。只要子类和孙子类在继承层次结构中有一个相同的类,他们就可以以相同的方式利用多态性。
使用多态的实质,就是想用父类实例来调用子类方法,但是又不能直接调用,即使赋予了子类变量也不能直接调用子类方法,必须曲线救国一下,那就是强制类型转化,把父类的变量转换为子类变量,然后再调用子类方法。
总结起来,可以将多态使用总结为以下的多态三部曲:
1,派生赋基类
2,基类强转换
3,再用派生法
注意,以上的操作对象一直都是基类对象