Встречается на собеседованиях • сегодня

В чем разница наследования в Python и C#

В Python поддерживается множественное наследование, а в C# — только одиночное. В Python порядок разрешения методов (MRO) определяется алгоритмом C3, а в C# — строго по иерархии классов.

Python (множественное наследование):

python
class A:
    def method(self):
        print("A")

class B:
def method(self):
print("B")

class C(A, B):
pass

c = C()
c.method() # Выведет "A" (первый родитель в MRO)

text

**C# (одиночное наследование):**  
```csharp
class A {
    public virtual void Method() => Console.WriteLine("A");
}

class B : A {
    public override void Method() => Console.WriteLine("B");
}

class C : B { }  // Нельзя унаследовать от нескольких классов

var c = new C();
c.Method();  // Выведет "B" (последний override)

В C# для повторного использования кода чаще используют интерфейсы (interface) и композицию.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы