zoukankan      html  css  js  c++  java
  • 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()

    总结:

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

  • 相关阅读:
    BZOJ1316——树上的询问(点分治)
    BZOJ2152——聪聪可可(点分治)
    POJ1741(点分治)
    POJ2104——K-th Number (主席树模板)
    USACO Training Section 5.1 Fencing the Cows 圈奶牛(凸包)
    POJ1269(直线之间的关系)
    NOIP2016——换教室(floyd+期望dp)
    POJ2187(旋转卡壳)
    POJ3348——Cows(求凸包)
    ZOJ1081(射线法判断点是否在多边形内部)
  • 原文地址:https://www.cnblogs.com/wangkaiok/p/9987723.html
Copyright © 2011-2022 走看看