Какие ключевые слова у метода позволяют его переопределять в C#?

В C# переопределение методов в наследуемых классах осуществляется с помощью ключевых слов virtual в базовом классе и override в производном.

Короткий ответ

Что ответить на собеседовании

В C# переопределение методов в наследуемых классах осуществляется с помощью ключевых слов virtual в базовом классе и override в производном. Метод в базовом классе объявляется как virtual, что позволяет потомкам его переопределять. В производном классе метод с таким же именем и сигнатурой объявляется с ключевым словом override.

Подробный разбор

Ответ с пояснениями

В C# переопределение методов в наследуемых классах осуществляется с помощью ключевых слов virtual в базовом классе и override в производном. Метод в базовом классе объявляется как virtual, что позволяет потомкам его переопределять. В производном классе метод с таким же именем и сигнатурой объявляется с ключевым словом override.

Пример:

class BaseClass
{
    public virtual void ShowMessage()
    {
        Console.WriteLine("Сообщение из базового класса");
    }
}

class DerivedClass : BaseClass
{
    public override void ShowMessage()
    {
        Console.WriteLine("Переопределённое сообщение из производного класса");
    }
}

Если метод базового класса не объявлен как virtual, abstract или override, то его нельзя переопределить, но можно скрыть с помощью ключевого слова new.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку