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

Что такое полиморфизм в ООП

Полиморфизм — это возможность объектов с одинаковым интерфейсом вести себя по-разному в зависимости от их типа. В C# реализуется через:

  1. Переопределение методов (override)
    Базовый класс определяет виртуальный метод (virtual), производный — переопределяет его (override).
csharp
class Animal {
    public virtual void MakeSound() => Console.WriteLine("Some sound");
}

class Dog : Animal {
    public override void MakeSound() => Console.WriteLine("Woof!");
}
  1. Перегрузку методов
    Один метод с разными параметрами:
csharp
void Print(int x) => Console.WriteLine(x);
void Print(string s) => Console.WriteLine(s);
  1. Интерфейсы
    Разные классы реализуют один интерфейс по-своему:
csharp
interface IDrawable {
    void Draw();
}

class Circle : IDrawable {
    public void Draw() => Console.WriteLine("Drawing circle");
}

Полиморфизм упрощает расширение кода и работу с разнотипными объектами через общий контракт.

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