思考
- 什么是适配器模式?适配器模式解决了什么问题?
- 适配器模式有哪几种?分别具备什么特征?
概念
- 适配器模式:
- 可以将某个类的接口转换成客户端所期望的另外一个接口,为了兼容性,让原本接口不一致无法一起工作的类可以协同工作。
- 别名包装器模式
- 属于结构型模式
- 类适配器模式:
- 类适配器模式是指通过继承被适配者(如220v),实现目标接口(如5v),完成的适配器模式
代码

//被适配的类
public class Voltage220V {
//输出220V的电压
public int output220V() {
int src = 220;
System.out.println("电压=" + src + "伏");
return src;
}
}
//适配接口
public interface IVoltage5V {
public int output5V();
}
//适配器类
public class VoltageAdapter extends Voltage220V implements IVoltage5V {
@Override
public int output5V() {
// TODO Auto-generated method stub
//获取到220V电压
int srcV = output220V();
int dstV = srcV / 44 ; //转成 5v
return dstV;
}
}
public class Phone {
//充电
public void charging(IVoltage5V iVoltage5V) {
if(iVoltage5V.output5V() == 5) {
System.out.println("电压为5V, 可以充电~~");
} else if (iVoltage5V.output5V() > 5) {
System.out.println("电压大于5V, 不能充电~~");
}
}
}
public class Client {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(" === 类适配器模式 ====");
Phone phone = new Phone();
phone.charging(new VoltageAdapter());
}
}