适配器模式用于将一个类的接口转换成客户端希望的另一个接口
/**
* 结构型模式--适配器模式
* 适配器模式用于将一个类的接口转换成客户端希望的另一个接口
*
* 使用适配器模式将英式插座适配成中国式插座
*/
public class AdapterMode {
// 目标接口
interface ChinaSocket {
void supplyPower();
}
// 适配者类
static class UkSocket {
public void powerOn() {
System.out.println("英式插座");
}
}
// 适配器类
static class SocketAdapter implements ChinaSocket {
private UkSocket ukSocket;
public SocketAdapter(UkSocket ukSocket) {
this.ukSocket = ukSocket;
}
public void supplyPower() {
ukSocket.powerOn();
}
}
// UKSocket是一个已有的类,它提供了英式插座的功能。
// 为了使其能够被中国插座使用,我们创建了一个适配器类SocketAdapter,并实现了ChinaSocket接口。
// 通过适配器模式,我们可以使用中国插座来供电
// 使用适配器模式
public static void main(String[] args) {
UkSocket ukSocket = new UkSocket();
ChinaSocket chinaSocket = new SocketAdapter(ukSocket);
chinaSocket.supplyPower();
}
}