学习是件开心事

适配器模式

如果原有接口不太适合扩展新功能的时候,需要提供一个适配类,在这个适配类里实现新功能,原有的接口只需要调用这个适配类就行。

总结下就是在原有接口里添加新适配类对象,调用适配方法来实现新功能。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public class Phone {
public static final int V = 220;
private VoltageAdapter voltageAdapter;
public Phone(VoltageAdapter voltageAdapter) {
this.voltageAdapter = voltageAdapter;
}
//电压太高无法给手机充电 需要将充电的实现给适配类去实现
public void charge() {
System.out.println("手机开始充电");
System.out.println("手机的电压是:" + V);
voltageAdapter.changeVoltage();
}
}
public class VoltageAdapter {
public static final int V = 20;
public VoltageAdapter() {
}
//改变电压的新功能
public void changeVoltage() {
System.out.println("变压器开始工作。。。");
System.out.println("电压器工作的电压是:" + V);
}
}

运行测试结果为

1
2
3
4
5
6
7
8
9
10
11
public static void main(String[] args) {
Phone phone = new Phone(new VoltageAdapter());
phone.charge();
}
手机开始充电
手机的电压是:220
变压器开始工作。。。
电压器工作的电压是:20