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