Sobes.tech
Back to questions
Junior — Middle
75

Можно ли реализовать множественное наследование в Python и как это работает?

Companies where asked
АэрофлотАэрофлот
РунитиРунити
Effective Mobile

Answer from AI

sobes.tech AI

В Python множественное наследование поддерживается напрямую — класс может наследоваться от нескольких базовых классов, перечисленных через запятую.

Пример:

class A:
    def method(self):
        print("Метод из A")

class B:
    def method(self):
        print("Метод из B")

class C(A, B):
    pass

obj = C()
obj.method()  # Выведет "Метод из A"

Как видно, класс C наследует методы и свойства от A и B. При вызове метода Python использует алгоритм разрешения методов (MRO, Method Resolution Order), который определяет порядок поиска методов в иерархии наследования. В данном случае сначала ищется метод в A, затем в B.

Таким образом, множественное наследование позволяет комбинировать поведение нескольких классов, но требует внимательности, чтобы избежать конфликтов и неоднозначностей.