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()

    总结:

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

  • 相关阅读:
    spring mvc随便接收list<objeect>参数
    python django model类型摘要
    【Unity3D自我记录】解决NGUI通过问题触发事件点
    sqlcipher移植
    外键约束列并没有导致大量建筑指数library cache pin/library cache lock
    34一个美丽的生活窍门
    html表格合并(行,一排)
    01标题背包水章 HDU2955——Robberies
    苹果Swift编程语言新手教程【中国版】
    神经网络和BP算法推导
  • 原文地址:https://www.cnblogs.com/wangkaiok/p/9987723.html
Copyright © 2011-2022 走看看