Я пытаюсь создать фабрику, которая будет создавать объект, который использует переменные экземпляра из родительского класса.Разве родительский класс не инициализируется для создания дочернего класса?Я думал, что добавление super().__init__
в дочерний класс '__init__()
может исправить это, но это не так.
Если вместо переменных экземпляра я использовал переменные класса в родительском классе, эта ошибка не возникает, но я нене хочу обмениваться данными между дочерними экземплярами.
Есть ли способ исправить это?
class factory:
@staticmethod
def fact(type):
if type is "A": return child_A()
if type is "B": return child_B()
class parent:
def __init__(self):
self.attr1 = []
self.attr2 = []
class child_A(parent):
def __init__(self):
self.data = [super().attr1, super().attr2]
class child_B(parent):
def __init__(self):
self.data = [super().attr1, super().attr2]