适配器模式(Adapter Pattern)将某个接口转换成客户端希望的另一个接口表示,主要目的是兼容性,让原本因接口不匹配而不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper)
工作原理
适配器模式:将一个类的接口转换成另一种接口,让原本接口不兼容的类可以兼容
从用户的角度看不到被适配者,是解耦的
用户调用适配器转化出来的目标接口方法,适配器再调用被适配者的相关接口方法
用户收到反馈结果,感觉只是和目标接口交互
python实现
class Charge(object): #充电基类,默认使用5V充电
def charge5v(self):
pass
class Charge5v(Charge):
def charge5v(self):
print("使用5V充电")
class Charge220v(object): #现在要使用220v进行充电
def charge220v(self):
print("使用220V充电")
class Adapter(Charge): #进行适配
charge220 = None
def __init__(self, charge220):
self.charge220 = charge220
def charge5v(self):
self.charge220.charge220v()
charge = Charge5v()
charge.charge5v()
charge2 = Charge220v()
adapter = Adapter(charge2)
adapter.charge5v()
打印结果:
使用五福充电器5V充电
使用220V充电器充电