标签:适配器模式
适配器模式就是当需要的功能与要提供的功能之间接口不符合时,作为两者之间的适配,从而让两者可以无缝对接。例如现实生活中的电脑充电情况一样,如果有朋友出国旅游,在国外买了一台电脑,回到国内后突然想给电脑充电,发现外国的电压不是220V的,而是110V的(这里是假设的),怎么办呢?还好外国买的电脑配有充电转换器,可以将220V的电压转换成110V电压,好吧,电脑充电问题可以解决了。这其中的充电转换器就是适配器,它可以无缝连接220V电压,并将其转换为110V的电压。这就是适配器模式。
<span style="font-size:18px;">public class Computer { /** * 充电功能,需要100V的电压 * * @param power100vInterface */ public void chargeComputer(Power110VInterface power110vInterface) { System.out.println("电脑正在充电,电压是:" + power110vInterface.prove110Power()); } }</span>也就是说那台电脑需要一个能提供110V电压的接口
<span style="font-size:18px;">public interface Power110VInterface { public int prove110Power(); }</span>
public class Power220V { /** * 提供220V电压 * @return */ public int prove220Power() { return 220; } }
<span style="font-size:18px;">public class Power110VAdapter implements Power110VInterface { private Power220V power220v; public Power110VAdapter(Power220V power220v) { this.power220v = power220v; } @Override public int prove110Power() { return this.prove110VFrom220V(); } /** * 可以将220V电压转换为110V电压 * * @return */ private int prove110VFrom220V() { return this.power220v.prove220Power() / 2; } }</span>
<span style="font-size:18px;">public class MainTest { public static void main(String[] args) { //一台电脑 Computer computer=new Computer(); //能提供220V的电压 Power220V power220v=new Power220V(); //适配器生成提供110V电压的接口 Power110VInterface power110vInterface=new Power110VAdapter(power220v); //电脑充电了 computer.chargeComputer(power110vInterface); } }</span>
标签:适配器模式
原文地址:http://blog.csdn.net/u010739551/article/details/44815023