Python面向对象之接口类(抽象类):就是制定一个规范。 好比定义了一个接口类(抽象类)(他们是不能够进行实例化的,这就是他为何是制定一个规范的缘由)。 他的定义是须要abc模块,要变的就是他的方法,好比下面的pay方法, 定义好一个抽象类(接口类)Payment,他用装饰器@abstractmethod将pay方法装饰 这样,其余类若是都继承了Payment方法,其余类中就都须要有一个pay方法,若是没有就会报错。 就比如,起初我没有微信支付类,可是若是后续项目须要加微信支付此功能,支付的方法我能够起各类名字。 可是为了统一支付接口,咱们继承抽象类Payment后,咱们的支付接口名就必须用pay. 这就是接口类(抽象类的用途) 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('使用支付宝花了%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,)) w1 = Wechatpay(200) a1 = Alipay(150) j1 = Jdpay(100) w1.pay() a1.pay() j1.pay()