Кросс-класс, звонящий через наследство брата? - PullRequest
0 голосов
/ 08 ноября 2019

Мне интересно, является ли то, что я создал, допустимым и «хорошим» - или фактически беспорядком

У меня есть класс, у которого есть метод, который вызывает функцию в другом классе. Тем не менее, это «видно» только из-за того, что эти два класса объединены в другом дочернем классе. Если кто-то просто смотрит на этот метод, он может задаться вопросом, где он на самом деле находится - это не ясно.

Я что-то не так делаю здесь или что-то распространенное в Python?

class A():
      def __init__(self):
            pass

      def register_urc(self, text):
            print(text)

class B(A):
      def __init__(self):
            A.__init__(self)

class C():
      def __init__(self):
            self.register_urc("Hello World")

class Z(B, C):
      def __init__(self):
            B.__init__(self)
            C.__init__(self)

      def test(self):
            print("finished")

z = Z()
z.test()

Что я получаю:

Hello World
finished. 

Я предполагаю, что это работает, потому что я 'm ссылаясь на «я» Z и передавая это всем остальным классам.

...