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

Какие плюсы и минусы наследования в C#

Плюсы:

  • Переиспользование кода – базовый класс содержит общую логику, которую можно наследовать.
  • Полиморфизм – можно переопределять методы (virtual/override).
  • Иерархия типов – удобно моделировать отношения «является» (например, Dog : Animal).

Минусы:

  • Жесткая связность – изменения в базовом классе могут сломать наследников.
  • Ограничение множественного наследования – C# поддерживает только один базовый класс.
  • Нарушение инкапсуляции – protected-члены раскрывают детали реализации.

Пример:

csharp
class Animal {
    public virtual void Speak() => Console.WriteLine("Some sound");
}
class Dog : Animal {
    public override void Speak() => Console.WriteLine("Woof!");
}
// Использование:
Animal myDog = new Dog();
myDog.Speak();  // Woof!

Альтернатива: композиция (вместо наследования) часто гибче.

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

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

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

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