使用java的适配器模式写一个中式插头通过适配器到欧式插头再
时间: 2023-06-17 12:02:26 浏览: 47
将电器插入欧式插座的例子。
首先,我们需要定义中式插头和欧式插头的接口:
```java
public interface ChinesePlug {
void chargeWithFlat();
}
public interface EuropeanPlug {
void chargeWithRound();
}
```
中式插头的实现如下:
```java
public class ChineseFlatPlug implements ChinesePlug {
@Override
public void chargeWithFlat() {
System.out.println("使用中式扁头充电");
}
}
```
欧式插头的实现如下:
```java
public class EuropeanRoundPlug implements EuropeanPlug {
@Override
public void chargeWithRound() {
System.out.println("使用欧式圆头充电");
}
}
```
现在我们需要一个适配器来将中式插头转换成欧式插头,适配器实现了欧式插头接口,并且持有中式插头的引用:
```java
public class ChineseToEuropeanAdapter implements EuropeanPlug {
private ChinesePlug chinesePlug;
public ChineseToEuropeanAdapter(ChinesePlug chinesePlug) {
this.chinesePlug = chinesePlug;
}
@Override
public void chargeWithRound() {
System.out.println("使用适配器将中式扁头转换成欧式圆头");
chinesePlug.chargeWithFlat();
}
}
```
最后,我们可以测试一下:
```java
public class AdapterPatternTest {
public static void main(String[] args) {
ChinesePlug chinesePlug = new ChineseFlatPlug();
EuropeanPlug europeanPlug = new EuropeanRoundPlug();
EuropeanPlug adapter = new ChineseToEuropeanAdapter(chinesePlug);
chinesePlug.chargeWithFlat();
europeanPlug.chargeWithRound();
adapter.chargeWithRound();
}
}
```
输出结果为:
```
使用中式扁头充电
使用欧式圆头充电
使用适配器将中式扁头转换成欧式圆头
使用中式扁头充电
```
可以看到,适配器成功地将中式插头转换成了欧式插头,电器也能正常充电。