
适配器模式是一种结构型模式,它使接口不兼容的对象能够相互合作
主要解决接口不兼容问题

- #!/usr/bin/env python
- # -*- coding: UTF-8 -*-
- __doc__ = """
- 适配器模式
- 例:不同国家的电源插头不同,可通过适配器使用不同国家的插头进行供电
- """
-
-
- class ChinaPlug:
- """
- 定义中国的插头
- """
-
- @staticmethod
- def power_supply():
- return "中国的两脚插头供电中..."
-
-
- class USPlug:
- """
- 定义美国的插头
- """
-
- @staticmethod
- def power_supply():
- return "美国的两脚插头供电中..."
-
-
- class Adapter:
- """
- 定义适配器,支持使用多类插头
- """
-
- def __init__(self, plug):
- self.plug = plug
-
- def power_supply(self):
- return f"适配器使用{self.plug.__class__.__name__}供电中..."
-
-
- # 客户端代码
- if __name__ == "__main__":
- """
- 美国的两脚插头供电中...
- 中国的两脚插头供电中...
- ------------------------------
- 适配器使用ChinaPlug供电中...
- 适配器使用USPlug供电中...
- """
- us_plug = USPlug()
- china_plug = ChinaPlug()
- print(us_plug.power_supply())
- print(china_plug.power_supply())
-
- print("-" * 30)
-
- adapters = [Adapter(china_plug), Adapter(us_plug)]
- for adapter in adapters:
- print(adapter.power_supply())