多态
(1)同一个对象在不同时刻表现出来的不同状态。
另外的表达方式:针对同一个对象,编译期类型和运行期类型不一致。
举例:
狗(狗是狗,狗是动物)
水(水,水蒸气,冰)
(2)前提:
A:有继承或者实现关系。
B:有方法重写。
C:有父类或者父接口引用指向子类对象。
(3)好处和弊端:
A:好处
扩展性和维护性(是由继承保证)。
B:弊端
不能使用子类的特有功能。
(4)向上转型和向下转型
A:向上转型
把子类对象赋值给父类或者父接口引用
B:向下转型
把父类或者父接口引用强制转换为子类
(5)多态中的使用成员特点
A:成员变量
编译运行都看左边
B:成员方法
编译看左边,运行看右边。
(6)多态的体现形式
A:具体类多态(几乎不用)
B:抽象类多态
C:接口多态 |
|