适配器模式:将原有的接口进行转换,达到复用的目的
比如说我手头上有220v的充电器,但是当地只有110v的电压,无法直接使用。现在就需要一个中间的转换器,完成电压的转换(实际完成工作的,还是那个220v的充电器)。
适配器模式有两种实现:1.继承 2.委托
继承方式实现:
//220v的充电器
class Charger1 {
//220v充电方法
void chargeWith220V();
}
//110v的充电器
interface Charger2 {
//110v充电方法
void chargeWith110V();
}
//转换器,需要实现110v的充电方法
class Transfer extends Charger1 implements Charger2 {
chargeWith110V(){
//实际调用的是220v的充电方法,完成转换
chargeWith220V();
}
}
委托的方式实现
//220v的充电器
class Charger1 {
//220v充电方法
void chargeWith220V();
}
//110v的充电器
interface Charger2 {
//110v充电方法
void chargeWith110V();
}
//转换器,需要实现110v的充电方法
class Transfer implements Charger2 {
//不再继承220v充电器,使用成员变量的方式
private Charge1 charge1;
chargeWith110V(){
//实际调用的是220v的充电方法,完成转换
charge1.chargeWith220V();
}
}