实现适配器模式示例

This commit is contained in:
2025-12-12 00:28:08 +08:00
parent 357c4748f8
commit 64cc579e42
3 changed files with 185 additions and 0 deletions
+63
View File
@@ -0,0 +1,63 @@
"""
实例
汤宝宝有一个苹果手机,手机原配lightning接口,为了连接Type-C接口的充电器,他需要一个转换器(适配器)来实现这个功能。
"""
from abc import ABC, abstractmethod
# 充电器类
class Charger:
def connect(self, type_c: "TypeCInterface"):
type_c.type_c_charging()
print("手机开始充电!\n")
# Type-C充电接口的接口
class TypeCInterface(ABC):
@abstractmethod
def type_c_charging(self):
pass
# 具体实现类
class TypeC(TypeCInterface):
def type_c_charging(self):
print("Type-C接口连接中...")
class Lightning:
def lightning_charging(self):
print("Lightning接口连接中...")
# 适配器类
class LightningToTypeCAdapter(TypeCInterface):
def __init__(self, lightning: Lightning):
self.lightning = lightning
def type_c_charging(self):
print("Type-C适配器转换中...")
self.lightning.lightning_charging()
def main():
print("============= 适配器模式 =============")
charger = Charger()
print("使用Type-C充电器给小米手机充电:")
typec = TypeC()
charger.connect(typec)
print("使用Lightning接口转换器给苹果手机充电:")
lightning = Lightning()
adapter = LightningToTypeCAdapter(lightning)
charger.connect(adapter)
print("=========== 适配器模式结束 ===========")
if __name__ == "__main__":
main()