问题描述:
使用metaclass=ABCMeta定义一个抽象类(由于python 没有抽象类、接口的概念,所以要实现这种功能得abc.py 这个类库),并在抽象类中声明几个抽象方法(@abstractmethod)或静态方法(@staticmethod)。
原因:抽象类的实例要重写抽象类的所有抽象方法,才能生成实例。
解决方法:子类中实现抽象方法。
几点:
1.静态方法,类可以不用实例化就可以调用该方法,不必需要参数。
2.@classmethod 类方法,该方法强制要求传递一个必须参数, 不需要self参数,但第一个参数需要是表示自身类的cls参数。
部分参考: