点击上方”python宝典”,关注获取python全套视频,
技术文章第一时间送达!
适配器模式
1、内容
将一个类的接口转换成客户希望的另一个接口。适配器模式使得原来由于接口不兼容而不能一起工作的那些类可以一起工作
2、角色
3、使用场景
4、优点
5、缺点
适配者类不能为最终类,在C#中不能为sealed类
6、两种实现方式
7、代码示例
from abc import abstractmethod,ABCMeta
class Payment(metaclass=ABCMeta):
@abstractmethod
def pay(self,money):
raise NotImplementedError
class Alipay(Payment):
def pay(self, money):
print("支付宝支付%s元"%money)
class ApplePay(Payment):
def pay(self, money):
print("苹果支付%s元"%money)
# =========待适配器==========
class WechatPay:
def huaqian(self,a,b):
print("微信支付%s元" % (a + b))
# ==========类适配器===========
class RealWeChatPay(Payment,WechatPay):
def pay(self,money):
return self.huaqian(money,0)
#===========对象适配器===========
class PavAdepter(Payment):
def __init__(self,payment):
self.payment = payment
def pay(self,money):
return self.payment.huaqian(money,0)
######使用=============
PavAdepter(WechatPay()).pay(100)
识别图中二维码,欢迎关注python宝典