Извините, если этот вопрос задан раньше, я не смог найти ответ во время поиска других вопросов.Вопросы множественного наследования Python
Я новичок в Python, и у меня проблемы с множественным наследованием. Предположим, у меня есть 2 классов, B и C, которые наследуют от того же класса А, которые определяются следующим образом:
class B(A):
def foo():
...
return
def bar():
...
return
class C(A):
def foo():
...
return
def bar():
...
return
Теперь я хочу, чтобы определить другой класс D, который наследуется от обоих B и C. D должны наследует реализацию B foo, но реализация C в баре. Как мне это сделать?
это известно как проблема алмаза - http://mypythonnotes.wordpress.com/2008/11/01/python-multiple-inheritance-and-the-diamond-problem/ –
это лучше сказать, что вам нужно, в 'D .__ init__' вы можете 'self.bar = C.bar' –
' super(). foo() 'в классе D будет называть' B.foo() 'однажды' B' перед 'C' в mro –