Как Python находит свойства и методы: продолжение
Множественное наследование происходит, когда в классе есть более одного суперкласса.
Синтаксически, такое наследование представляется в виде списка разделенных запятыми суперклассов, заключенных в круглые скобки после нового имени класса - как здесь:
class SuperA:
var_a = 10
def fun_a(self):
return 11
class SuperB:
var_b = 20
def fun_b(self):
return 21
class Sub(SuperA, SuperB):
pass
obj = Sub()
print(obj.var_a, obj.fun_a())
print(obj.var_b, obj.fun_b())
Класс Sub
имеет два суперкласса: SuperA
и SuperB
. Это означает, что класс Sub
наследует все предложения, предлагаемые как SuperA
, так и SuperB
.
Код дает следующее:
10 11
20 21
output
Теперь пришло время ввести новый термин - переопределение.
Как Вы думаете, что произойдет, если более чем один из суперклассов определяет сущность с определенным именем?