Можно ли задать объект c базового класса в качестве базового объекта унаследованного класса / объекта в python? - PullRequest
0 голосов
/ 28 марта 2020

У меня есть класс 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 ++ можно найти здесь: установить базовый объект производного объекта?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...