如何在python中创建BaseClass的对象并将子类与其链接?

问题描述

我有一个抽象基类和一个子类。

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