# python 没有接口这个概念
# 接口类,抽象类: 定义: 制定一个规范
class Alipay:
def __init__(self, money):
self.money = money
def pay(self):
print(f'使用支付宝支付了{self.money}')
class Jdpay:
def __init__(self, money):
self.money = money
def pay(self):
print(f'使用京东支付了{self.money}')
al = Alipay(500)
al.pay()
jd = Jdpay(500)
jd.pay()
# 第二版 统一化设计
class Alipay:
def __init__(self, money):
self.money = money
def pay(self):
print(f'使用支付宝支付了{self.money}')
class Jdpay:
def __init__(self, money):
self.money = money
def pay(self):
print(f'使用京东支付了{self.money}')
def pay(obj):
obj.pay()
a1 = Alipay(200)
j1 = Jdpay(100)
pay(a1)
pay(j1) # 归一化设计
# 第三版 微信支付
from abc import ABCMeta, abstractmethod
class Payment(metaclass=ABCMeta): # 抽象类(接口类)
@abstractmethod # 装饰器
def pay(self): pass # 制定了一个规范
class Alipay(Payment):
def __init__(self, money):
self.money = money
def pay(self):
print(f'使用支付宝支付了{self.money}')
class Jdpay(Payment):
def __init__(self, money):
self.money = money
def pay(self):
print(f'使用京东支付了{self.money}')
class Wcpay(Payment):
def __init__(self, money):
self.money = money
def pay1(self):
print(f'使用微信支付了{self.money}')
def pay(obj):
obj.pay()
a1 = Alipay(200)
j1 = Jdpay(100)
w1 = Wcpay(300)
w1.pay1()
pay(a1)
pay(j1) # 归一化设计
# pay(w1)
# 第四版 接口类 抽象类
class Alipay:
def __init__(self, money):
self.money = money
def pay(self):
print(f'使用支付宝支付了{self.money}')
class Jdpay:
def __init__(self, money):
self.money = money
def pay(self):
print(f'使用京东支付了{self.money}')
class Wcpay:
def __init__(self, money):
self.money = money
def pay(self):
print(f'使用微信支付了{self.money}')
1 # python 没有接口这个概念
2 # 接口类,抽象类: 定义: 制定一个规范
3 class Alipay:
4 def __init__(self, money):
5 self.money = money
6
7 def pay(self):
8 print(f'使用支付宝支付了{self.money}')
9
10
11 class Jdpay:
12 def __init__(self, money):
13 self.money = money
14
15 def pay(self):
16 print(f'使用京东支付了{self.money}')
17
18
19 al = Alipay(500)
20 al.pay()
21
22 jd = Jdpay(500)
23 jd.pay()
24
25
26 # 第二版 统一化设计
27
28 class Alipay:
29 def __init__(self, money):
30 self.money = money
31
32 def pay(self):
33 print(f'使用支付宝支付了{self.money}')
34
35
36 class Jdpay:
37 def __init__(self, money):
38 self.money = money
39
40 def pay(self):
41 print(f'使用京东支付了{self.money}')
42
43
44 def pay(obj):
45 obj.pay()
46
47
48 a1 = Alipay(200)
49 j1 = Jdpay(100)
50 pay(a1)
51 pay(j1) # 归一化设计
52
53 # 第三版 微信支付
54 from abc import ABCMeta, abstractmethod
55
56
57 class Payment(metaclass=ABCMeta): # 抽象类(接口类)
58 @abstractmethod # 装饰器
59 def pay(self): pass # 制定了一个规范
60
61
62 class Alipay(Payment):
63 def __init__(self, money):
64 self.money = money
65
66 def pay(self):
67 print(f'使用支付宝支付了{self.money}')
68
69
70 class Jdpay(Payment):
71 def __init__(self, money):
72 self.money = money
73
74 def pay(self):
75 print(f'使用京东支付了{self.money}')
76
77
78 class Wcpay(Payment):
79 def __init__(self, money):
80 self.money = money
81
82 def pay1(self):
83 print(f'使用微信支付了{self.money}')
84
85
86 def pay(obj):
87 obj.pay()
88
89
90 a1 = Alipay(200)
91 j1 = Jdpay(100)
92 w1 = Wcpay(300)
93 w1.pay1()
94 pay(a1)
95 pay(j1) # 归一化设计
96 # pay(w1)
97
98
99 # 第四版 接口类 抽象类
100 class Alipay:
101 def __init__(self, money):
102 self.money = money
103
104 def pay(self):
105 print(f'使用支付宝支付了{self.money}')
106
107
108 class Jdpay:
109 def __init__(self, money):
110 self.money = money
111
112 def pay(self):
113 print(f'使用京东支付了{self.money}')
114
115
116 class Wcpay:
117 def __init__(self, money):
118 self.money = money
119
120 def pay(self):
121 print(f'使用微信支付了{self.money}')
122
123
124 def pay(obj):
125 obj.pay()
126
127
128 a1 = Alipay(200)
129 j1 = Jdpay(100)
130 w1 = Wcpay(300)
131 pay(a1)
132 pay(j1) # 归一化设计
133 pay(w1)
def pay(obj):
obj.pay()
a1 = Alipay(200)
j1 = Jdpay(100)
w1 = Wcpay(300)
pay(a1)
pay(j1) # 归一化设计
pay(w1)