二、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();
    }
}

猜你喜欢

转载自www.cnblogs.com/baizhuang/p/10400387.html