定义:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类结构型模式和对象结构型模式两种,前者类之间的耦合度比后者高,且要求程序员了解现有组件库中的相关组件的内部结构,所以应用相对较少些。
例子:
手机充电:家里的电源插座都是220V交流电,而手机只能接收5V的直流电,是不能直接使用电源直接充电的。所以就需要用到充电头去将电流转化为手机能用的电流。这里的充电头就是一个适配器。
直接上代码:
/*** 交流电220V*/public class AC220V {/*** 输出220v交流电* @return*/public int output220v() {return 220;}}/*** 直流5v接口*/public interface DC5V {/*** 输出5v交流电* @return*/int output5v();}/*** 交流电220v转为直流电5v*/public class Power5VAdaptor extends AC220V implements DC5V{@Overridepublic int output5v() {int i = output220v();//转为直流5vreturn (i/44);}}public class Phone {public static void main(String[] args) {Power5VAdaptor power5VAdaptor = new Power5VAdaptor();System.out.println("手机充"+power5VAdaptor.output5v()+"v的电。");}}
类图:
