18c0693f

Множественное наследование


В отличие, например, от Java, в языке Python можно наследовать класс от нескольких классов. Такая ситуация называется множественным наследованием (multiple inheritance).

Класс, получаемый при множественном наследовании, объединяет поведение своих надклассов, комбинируя стоящие за ними абстракции.

Использовать множественное наследование следует очень осторожно, а необходимость в нем возникает реже одиночного.

В случае с Python наследование можно считать одним из способов собрать нужные комбинации методов в серии классов:

class A: def a(self): return 'a' class B: def b(self): return 'b' class C: def c(self): return 'c'

class AB(A, B): pass class BC(B, C): pass class ABC(A, B, C): pass

Впрочем, собрать нужные методы можно и по-другому, без использования наследования:

def ma(self): return 'a' def mb(self): return 'b' def mc(self): return 'c'

class AB: a = ma b = mb

class BC: b = mb c = mc

class ABC: a = ma b = mb c = mc





Все публикации раздела