TypeError Cannot instantiate abstract class xxx with abstract method

问题描述:

使用metaclass=ABCMeta定义一个抽象类(由于python 没有抽象类、接口的概念,所以要实现这种功能得abc.py 这个类库),并在抽象类中声明几个抽象方法(@abstractmethod)或静态方法(@staticmethod)。

原因:抽象类的实例要重写抽象类的所有抽象方法,才能生成实例。

解决方法:子类中实现抽象方法。

 

几点:

1.静态方法,类可以不用实例化就可以调用该方法,不必需要参数。

2.@classmethod 类方法,该方法强制要求传递一个必须参数, 不需要self参数,但第一个参数需要是表示自身类的cls参数。

 

部分参考:

https://www.cnblogs.com/cymwill/p/8723462.html

你可能感兴趣的:(TypeError Cannot instantiate abstract class xxx with abstract method)