Day03_02目标:多态的优劣势

别说谁变了你拦得住时间么 提交于 2019-11-29 23:30:38

目标:多态的优劣势

优势:

​ 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("🐺抓🐏吃~~~~~");
    }
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!