1 #接口类 也可以理解为抽象类 用来建立一套规范 接口是一种设计思想 设计模式
2 #接口类 默认多继承 接口类中的所有方法,都必须不能实现 --java
3 #抽象类 不支持多继承,抽象类中可以实现一些方法 鸭子模型 --java
4 from abc import abstractmethod,ABCMeta
5 class Payment(metaclass=ABCMeta):#元类 默认的元类是type
6 @abstractmethod
7 def pay(self):
8 raise NotImplementedError #没有实现这个方法的异常
9
10
11 class Wechar(Payment):
12 def pay(self,money):
13 print("已经用微信支付了%s元"%money)
14
15
16 class Alipay(Payment):
17 def pay(self,money):
18 print("已经用支付宝支付了%s元"%money)
19
20
21
22 class Applepay(Payment):
23 def fukuan(self,money):
24 print("已经用applepay支付了%s元"%money)
25
26
27 def pay(pay_obj,money):
28 pay_obj().pay(money)
29
30
31 if __name__=="__main__":
32 #app=Applepay()#用于测试 会报错 TypeError: Can't instantiate abstract class Applepay with abstract methods pay
33 pay(Wechar,200)
F:\pythonkaifa\python_learning\20191>python 接口.py
已经用微信支付了200元