您的位置:首页 > 编程语言 > Java开发

java 设计模式--适配器模式(实例快速理解)

2015-04-02 16:51 696 查看
前言

适配器模式就是当需要的功能与要提供的功能之间接口不符合时,作为两者之间的适配,从而让两者可以无缝对接。例如现实生活中的电脑充电情况一样,如果有朋友出国旅游,在国外买了一台电脑,回到国内后突然想给电脑充电,发现外国的电压不是220V的,而是110V的(这里是假设的),怎么办呢?还好外国买的电脑配有充电转换器,可以将220V的电压转换成110V电压,好吧,电脑充电问题可以解决了。这其中的充电转换器就是适配器,它可以无缝连接220V电压,并将其转换为110V的电压。这就是适配器模式。

例子

一台需要充电的电脑

public class Computer {

/**

* 充电功能,需要100V的电压

*

* @param power100vInterface

*/

public void chargeComputer(Power110VInterface power110vInterface) {

System.out.println("电脑正在充电,电压是:" + power110vInterface.prove110Power());

}

}

也就是说那台电脑需要一个能提供110V电压的接口

public interface Power110VInterface {

public int prove110Power();

}

但是仅有的类只能提供220V的电压

public class Power220V {

/**

* 提供220V电压

* @return

*/

public int prove220Power() {

return 220;

}

}

没关系,以为我们有充电转换器(适配器)

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;

}

}

好了,没问题了电脑终于可以冲上点了

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

}

}

结果:

电脑正在充电,电压是:110
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: