多态

 

多态概述: 同一个对象在不同时刻表现出来的不同形态,即简单理解为对象的不同形态

用猫举例如下就是猫对象的不同形态: 猫 cat = new 猫() => 此时猫是猫 动物 animal = new 猫() => 此时猫是动物

多态的前提: 1、有继承/实现关系 2、有方法重写 3、有父类引用指向子类对象

 

多态的练习

 

多态中成员访问特点

例如

介绍

思考: 造成成员变量和成员方法的访问不一样的原因是什么。答案: 因为成员方法有重写,而成员变量没有

 

多态中成员访问特点的练习

 

多态的好处和弊端

多态的好处:提高了程序的扩展性 具体体现为:定义方法的时候,使用父类型作为参数,将来在使用的时候,使用具体的子类型参与操作即可

多态的弊端:不能使用子类的特有功能

 

好处和弊端的练习

 

多态中的转型

向上转型: 1、从子到父 2、父类引用指向子类对象

向下转型: 1、从父到子 2、父类引用转为子类对象

 

转型的练习

 

猫和狗_多态版

需求:采用多态的思想实现猫和狗的案例,并测试

思路:

 

猫和狗_多态版的练习