面向对象三大特性, 类的约束

一 面向对象的三大特性:

继承 . 封装 . 多态(鸭子类型)

二 类的约束:

第一种方式:

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)
posted on 2019-11-05 21:59  Lav3nder  阅读(160)  评论(0编辑  收藏  举报