Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csOpIhVr 70 of 163 menu
◀ ▶

Разрешение переопределения в C#

По умолчанию метод базы ведет себя как обычный унаследованный член: потомок может добавить метод с тем же именем, но это будет отдельная версия, а не замена базовой.

Когда база должна явно разрешить замену, метод помечают ключевым словом virtual. Так компилятор фиксирует: у потомка может появиться новая реализация вместо этой. Сама замена оформляется отдельно, в классе потомка.

Запишем базовый класс с приветствием, которое потомок сможет заменить, и пустого потомка:

class User { public virtual void Greet() { Console.WriteLine("user"); } } class Student : User { }

Объект потомка пока использует реализацию базы:

Student student = new Student(); student.Greet();

Сделайте классы User и Employee. В базе опишите метод Role, который выводит строку "user", так чтобы потомок мог подставить свою реализацию.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить