多态的体现方式
1、方法多态性,体现在方法的重载和覆写上
方法的重载是指同一个方法名称,根据其传入的参数类型、个数和顺序的不同,所调用的方法体也不同,即同一个方法名称在一个类中有不同的功能实现;
方法的覆写(重写)是指父类之中的一个方法名称,在不同的子类有不同的功能实现,而后依据实例化子类的不同,同一个方法,可以完成不同的功能。
2、对象多态性,体现在父、子对象之间的转型上
(1)向上转型(Upcast)(自动转型):父类 父类对象=子类实例
将子类对象赋值给父类对象,这样将子类对象自动转换为父类对象。这种转换方式是安全的。
(2)向下转型(Downcast)(强制转型):子类 子类对象=(子类)父类对象
将父类对象赋值给子类对象。这种转换方式是非安全的。在特定背景下如果需要父类对象转换为子类对象,就必须使用强制类型转换。