设计模式
适配器模式(Adapter Pattern)是一种结构型设计模式,它允许接口不兼容的对象之间进行合作。在Python中,适配器模式通常用于将一个对象的接口转换为另一个对象的接口,以满足客户端的需求。
代码案例
以下是一个适配器模式的案例,我们有一些汽车,它们的引擎都有不同的接口,我们需要为它们提供一个统一的接口:
class Car:
def __init__(self, engine):
self.engine = engine
def start(self):
self.engine.start()
class GasolineEngine:
def start(self):
print("启动汽油发动机")
class ElectricEngine:
def turn_on(self):
print("启动电动发动机")
class ElectricEngineAdapter:
def __init__(self, engine):
self.engine = engine
def start(self):
self.engine.turn_on()
if __name__ == '__main__':
car1 = Car(GasolineEngine())
car1.start()
car2 = Car(ElectricEngineAdapter(ElectricEngine()))
car2.start()
在上面的代码中,Car
类需要一个可以启动引擎的对象,我们定义了两种不同类型的引擎 GasolineEngine
和 ElectricEngine
,但是它们的接口不同。我们创建了一个 ElectricEngineAdapter
类,将 ElectricEngine
的接口转换为与 GasolineEngine
相同的接口。在实例化 Car
对象时,我们可以根据需要传递不同类型的引擎对象,即使接口不同,也能够成功启动引擎。
输出结果为:
启动汽油发动机
启动电动发动机
这就是适配器模式在Python中的简单应用。