Назад к вопросам
Альфа-Банк
Senior
10
Чем virtual отличается от override в C#? Четыре основных принципа ООП.
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В C# ключевое слово virtual используется для объявления метода или свойства, которое может быть переопределено в производном классе. Это означает, что базовый класс предоставляет реализацию, но разрешает подклассам изменить поведение.
override применяется в производном классе для переопределения виртуального метода или свойства базового класса.
Пример:
class BaseClass
{
public virtual void Show()
{
Console.WriteLine("Base implementation");
}
}
class DerivedClass : BaseClass
{
public override void Show()
{
Console.WriteLine("Derived implementation");
}
}
Здесь Show в базовом классе объявлен как virtual, а в производном — переопределён с помощью override.
Четыре основных принципа ООП:
- Инкапсуляция — скрытие внутренней реализации объекта и предоставление доступа через публичные методы.
- Наследование — возможность создавать новые классы на основе существующих, наследуя их свойства и методы.
- Полиморфизм — способность объектов разных классов реагировать на одинаковые сообщения (методы) по-разному.
- Абстракция — выделение существенных характеристик объекта, игнорируя несущественные детали.
Эти принципы помогают создавать гибкие, расширяемые и поддерживаемые программные системы.