一 面向对象的三大特性:
继承 . 封装 . 多态(鸭子类型)
二 类的约束:
第一种方式:
class Payment:
def pay(self,money):
raise Exception("你没有实现pay方法")
class QQpay(Payment):
def pay(self,money):
print('使用qq支付%s元' % money)
def pay(obj,money):
obj.pay(money)
a = QQpay()
pay(a,100)
第二种方式:
from abc import ABCMeta, abstractmethod
class Payment(metaclass = ABCMeta):
@abstractmethod
def pay(self,money):
pass
class QQpay(Payment):
def pay(self,money):
print(f'qq支付了{money}元')
def pay(obj,money):
obj.pay(money)
a = QQpay()
pay(a,100)