抽象类 和 接口类
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元