25.3 多态的优缺点及应用

/*
* 多态的优缺点
* 优点:可以提高可维护性(多态前提所保证的),提高代码的可扩展性
缺点:无法直接访问子类特有的成员(可以使用向下转型方式获取)
*/

public class PoymorphicDemo4 {
    public static void main(String[] args) {
        MiFactory factory = new MiFactory();
        factory.createPhone(new MiNote());
        factory.createPhone(new RedNote());
    }
}

class MiFactory {

//    public void createPhone(MiNote m) {
//        m.call();
//    }
//
//    public void createPhone(RedNote r) {
//        r.call();
//    }

    //使用接口对象提高代码扩展性
    public void createPhone(Phone p) {
        p.call();
    }
}

interface Phone {
    public void call();
}

class MiNote implements Phone {
    public void call() {
        System.out.println("打电话");
    }
}

class RedNote implements Phone {
    public void call() {
        System.out.println("红米打电话");
    }
}

 

输出

 

posted @ 2019-07-24 16:17  龙桑  阅读(516)  评论(0编辑  收藏  举报