理解接口

简介

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# coding:utf-8

class abb:
print('class 只要里面有print,不用走主函数入口,直接就运行。实例化class之后,print反而不执行。')

class Alipay:
a = 'alipay_a'
def paying(self,money):
print('支付宝支付')

class Apppay:
a = 'apppay_a'
print('苹果的类已经运行了。')
def pay(self,money):
print('苹果支付')

class payment:
print(' 手动抛出异常 1 。')
a = 'payment_a'
b = 'payment_b'
def pay(self):
print(' 手动抛出异常 2 。')
raise NotImplementedError # 手动抛出异常。

print('****************\n')
def pay(payment,money): # payment只是单纯的形参,和前面的payment类 没关系。
print(payment.a)
payment.pay(money)
print('****************\n')

if __name__=='__main__':
b = Apppay() # 实例化apppay类,对象b 拥有apppay类的属性和方法,但是需要调用才能用,除了构造函数__init__。
pay(b,100) # 调用pay方法,再间接调用apppay里的pay方法。

# p = Alipay()
# pay(p,200)