问题描述
from abc import ABC,abstractmethod
class Baseclass(ABC):
@abstractmethod
def test():
pass
class Subclass(Baseclass):
def test():
print("test")
另一个类创建了 sub_class 的对象。
class Main():
def __init(self):
self.obj = Subclass()
我想创建 Baseclass 的实例并将子类与其链接。 如何才能做到这一点? 可以使用依赖注入来完成吗?
解决方法
对于定义而言,您不能使用抽象方法创建 Baseclass 的实例:
class Baseclass(ABC):
@abstractmethod
def test(self):
pass
Baseclass()
# TypeError: Can't instantiate abstract class Baseclass with abstract methods test