设计模式-抽象类

借助python中的abc模块来实现抽象类
抽象类是一个特殊的类,它的特殊之处在于只能被继承,不能被实例化
类是从一堆对象中抽取相同的内容而来的,那么抽象类就是从一堆类中抽取相同的内容而来的,内容包括数据属性和函数属性
抽象类中的抽象方法必须在继承的子类中全部重写

from abc import ABCMeta, abstractclassmethod


# 定义一个接口,要求下面的Alipay和 WechatPay 必须实现pay且实现pay和接口定义的参数,返回的类型保持一致
class Pay(metaclass=ABCMeta):
    @abstractclassmethod
    def pay(self, money):
        pass


# 称Alipay实现了pay接口
class AliPay(Pay):
    def pay(self, money):
        pass


class WechatPay(Pay):
    def pay(self, money):
        pass


p = AliPay()
p.pay(10)
posted @ 2022-07-02 19:32  我是小菜鸡丫丫  阅读(38)  评论(0编辑  收藏  举报