У меня есть класс A и класс B, производные от A.
После создания экземпляра класса A с множеством выполненных операций я хочу сериализовать этот указанный c объект. Давайте назовем этот объект A_instance.
При инициализации класса B, как я могу сказать B, что его базовый объект должен быть A_instance?
В пределах B init Я хочу решить, должен ли он нормально выполняться super().__init__(...)
или установить базовый объект непосредственно в A_instance.
Вот пример кода, который, я надеюсь, прояснит мой вопрос:
class A():
def __init__(self, a=1):
self.a = a
self.message = "Hello, I'm class A"
myA = A(15)
class B(A):
def __init__(self, b=2, my_base=None):
if my_base:
# what should i code here? maybe someting like super().super_object = my_base
pass
else:
super(B, self).__init__()
self.b = b
self.message = "Hello, I'm class B inherited from A"
#Then the above code should result in something like:
myB = B(my_base=myA)
assert myB.a == myA.a
A похоже, если даже не тот же вопрос для C ++ можно найти здесь: установить базовый объект производного объекта?