目标:多态的优劣势
优势:
1.在多态形式下,右边对象可以实现组件化切换,业务功能也随之改变,
后续代码无需改变,便于扩展和维护。
2.实际开发的过程中,父类类型作为方法形式参数,传递子类对象给方法,
可以传入一切子类对象进行方法的调用,更能体现出多态的扩展性与便利.
劣势:
1.多态形式下,不能直接调用子类特有的功能。
小结:
记住。
public class PolymorphicDemo {
public static void main(String[] args) {
Animal a = new Cat();
a.run();
// a.catchMouse(); // 报错了,多态形式下,不能直接调用子类特有的功能。
Animal a1 = new Cat();
go(a1);
Animal a2 = new Wolf();
go(a2);
}
// 动物大赛:全部动物都可以进来。
public static void go(Animal c){
c.run();
}
class Animal{
public void run(){
System.out.println("动物可以跑~~~");
}
}
class Cat extends Animal{
@Override
public void run(){
System.out.println("猫跑的贼贼快~~~");
}
// 特有功能
public void catchMouse(){
System.out.println("?抓?~~~~~");
}
}
class Wolf extends Animal{
@Override
public void run(){
System.out.println("狼跑的贼贼溜~~~");
}
// 特有功能
public void catchSheep(){
System.out.println("?抓?吃~~~~~");
}
}