63-python-接口类

# 设计模式 -- 接口
# 接口类:python原生不支持
# 抽象类:python原生支持

# 这是个规范:接口类或抽象类 都可以
# 接口类:支持多继承,接口类中的所有方法都必须不能实现
# 抽象类:不支持多继承,抽象类中的方法可以有一些代码的实现


# 这个模块可以检查与父类不符的方法 并提示出来(报错)
from abc import abstractmethod,ABCMeta
class Payment(metaclass=ABCMeta):
    @abstractmethod
    def pay(self,money):pass


class Wechat(Payment):
    def pay(self,money):
        print('微信支付:%s元'%(money))

class Alipay(Payment):
    def pay(self,money):
        print('支付宝支付:%s元'%(money))

class Applepay:
    def fu(self,money):
        print('apple支付:%s元'%(money))

def pay(pay_obj,money):     # 统一入口
    pay_obj.pay(money)


w = Wechat()
a = Applepay()
pay(w,100)
pay(a,200)  # 这里会报错,并且会将错误原因提示给你

 

posted @ 2018-10-28 21:43  _Q  阅读(103)  评论(0)    收藏  举报