【学习笔记】--- 老男孩学Python,day18 面向对象------抽象类(接口类), 多态, 封装

抽象类,接口类

Python没有接口这个概念

接口类(抽象类): 目的是制定一个规范

 1 from abc import ABCMeta, abstractclassmethod
 2 
 3 class Payment(metaclass=ABCMeta): # 创建一个抽象 (接口) 类 的父类,
 4     @abstractclassmethod
 5     def pay(self): pass   # 制定一个规范   只是放在那里
 6 
 7 class Alipay(Payment):
 8     def __init__(self,money):
 9         self.money = money
10 
11     def pay(self):
12         print('使用支付宝支付了%s' % self.money)
13 
14 class Jdpay(Payment):
15     def __init__(self, money):
16         self.money = money
17 
18     def pay(self):
19         print('使用京东闪付支付了%s' % self.money)
20 
21 class WeChatpay(Payment):
22     def __init__(self,money):
23         self.money = money
24 
25     def pay(self):
26         print('使用微信支付了%s' % self.money)
27 
28 # 都有pay这个方法  就建一个pay的函数
29 def pay(obj):
30     obj.pay()
31 
32 # 实例化一个Alipay的对象
33 a1 = Alipay(2000)
34 
35 # 实例化一个Jdpay的对象
36 j1 = Jdpay(1999)
37 
38 # 实例化一个Wechatpay的对象
39 w1 = WeChatpay(1)
40 
41 pay(a1)
42 pay(j1)
43 pay(w1)
View Code

猜你喜欢

转载自www.cnblogs.com/niuli1987/p/9372003.html