Python中没有接口。接口类,抽象类:定义 制定一个规范
#必须要导入
from abc import ABCMeta,abstractmethod
class Payment(metaclass = ABCMeta):
#抽象类(接口类):强制制定一个规范,凡是继承我的类中必须有pay方法,如果没有,实例化对象时会报错
@abstractmethod
def pay(self): #定义了一个规范
pass
class Alipay(Payment):
def __init__(self,money):
self.money = money
def pay(self):
print("使用支付宝支付了%s" %self.money)
class Jdpay(Payment):
def __init__(self,money):
self.money = money
def pay(self):
print("使用京东支付了%s" %self.money)
class WeChatpay(Payment):
def __init__(self,money):
self.money = money
def pay(self):
print("使用微信支付了%s" %self.money)
def PayOnline(obj):
obj.pay()
a1 = Alipay(100)
j1 = Jdpay(200)
w1 = WeChatpay(300)
PayOnline(a1)
PayOnline(j1)
PayOnline(w1)
执行结果:
使用支付宝支付了100
使用京东支付了200
使用微信支付了300