码迷,mamicode.com
首页 > 其他好文 > 详细

抽象类 和 接口类

时间:2019-01-29 21:20:24      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:self   不能   抽象   支持   main   cme   abs   mon   style   

 

 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(Alipay,200)

 

抽象类 和 接口类

标签:self   不能   抽象   支持   main   cme   abs   mon   style   

原文地址:https://www.cnblogs.com/Mengchangxin/p/10335806.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!