13、Adapter 适配器

适配器:继承适配与委托适配

需求:Banner 可以输出强电流380v、弱电流12v,但是不能被直接使用。通过别的方式,介间的使用banner?

委托类图:

代码清单:

 需要隐藏的功能类:

public class Banner {
    public void showWithParen(){
        System.out.println("加强输出 380V");
    }

    public void showWithAster(){
        System.out.println("减弱输出 12V");
    }
}

代理接口:

public interface Print {
    void printStrong();
    void printWeak();
}

代理实现:

public class PrintBanner implements  Print{
     private Banner banner;

     PrintBanner(Banner banner){
         this.banner = banner;
     }

    @Override
    public void printStrong() {
        banner.showWithParen();
    }

    @Override
    public void printWeak() {
        banner.showWithAster();
    }
}

测试类:

public class Main {
    public static void main(String[] args){
        Print print = new PrintBanner(new Banner());
        print.printStrong();
        print.printWeak();
    }
}

 

posted @ 2019-02-19 12:57  byebai95  阅读(215)  评论(0编辑  收藏  举报