• python接口类,抽象类


    # 支付方式不够统一
    class QQpay:
        def pay(self, money):
            print('QQ支付了%s钱' % money)
    
    class Alipay:
        def pay(self, money):
            print('支付宝支付了%s钱' % money)
    
    a1 = QQpay()
    a1.pay(100)
    b1 = Alipay()
    b1.pay(200)
    # 统一支付方式:归一化设计
    
    class QQpay:
        def pay(self, money):
            print('QQ支付了%s钱' % money)
    
    
    class Alipay:
        def pay(self, money):
            print('支付宝支付了%s钱' % money)
    
    def pay(obj, money):  # 归一化设计
        obj.pay(money)
    
    
    a1 = QQpay()
    b1 = Alipay()
    pay(a1, 100)
    pay(b1, 200)
    # 狗哥,调离了部门,此时来了一个野生程序员。
    
    class QQpay:
        def pay(self, money):
            print('QQ支付了%s钱' % money)
    
    
    class Alipay:
        def pay(self, money):
            print('支付宝支付了%s钱' % money)
    
    class Wechat:
        def fuqian(self,money):
            print('微信支付了%s钱' % money)
    
    def pay(obj, money):  # 归一化设计
        obj.pay(money)
        
    a1 = QQpay()
    b1 = Alipay()
    pay(a1, 100)
    pay(b1, 200)
    
    c1 = Wechat()
    c1.fuqian(300)
    # 接口类:就是制定一个规则,让其他人按照我的规则去写程序。 约定俗称规范,但是这个有人还不按照这个执行。
    class payment:
        def pay(self,money):
            pass
    
    
    class QQpay(payment):
        def pay(self, money):
            print('QQ支付了%s钱' % money)
    
    
    class Alipay(payment):
        def pay(self, money):
            print('支付宝支付了%s钱' % money)
    
    
    class Wechat(payment):
        def fuqian(self, money):
            print('微信支付了%s钱' % money)
    
    def pay(obj, money):  # 归一化设计
        obj.pay(money)
    # 强制指定规范:
    from abc import ABCMeta, abstractmethod
    class payment(metaclass=ABCMeta):
        @abstractmethod
        def pay(self,money):
            pass
    class QQpay(payment):
        def pay(self, money):
            print('QQ支付了%s钱' % money)
    
    class Alipay(payment):
        def pay(self, money):
            print('支付宝支付了%s钱' % money)
    
    
    class Wechat(payment):
        def fuqian(self, money):
            print('微信支付了%s钱' % money)
    
    def pay(obj, money):  # 归一化设计
        obj.pay(money)
    
    w = Wechat()

    总结:

    接口类其实就是遵循我的一些代码规范而做的

  • 相关阅读:
    【POJ2311】Cutting Game-SG博弈
    deleted
    deleted
    deleted
    deleted
    deleted
    deleted
    deleted
    deleted
    deleted
  • 原文地址:https://www.cnblogs.com/wangkaiok/p/9987723.html
Copyright © 2020-2023  润新知