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

Закрытие цепочки переопределения в C#

Иногда реализация в потомке должна остаться последней в цепочке наследования.

Слово sealed перед override запрещает переопределение этого метода в классах ниже. Запишем GetVersion в User и закроем его в Employee:

class User { public virtual int GetVersion() { return 1; } } class Employee : User { public sealed override int GetVersion() { return 2; } } class Manager : Employee { // public override int GetVersion() { return 3; } // ошибка }

Номер версии на объекте сотрудника:

Employee employee = new Employee(); Console.WriteLine(employee.GetVersion());

Объявите в User метод Build, закройте цепочку замены в Employee и попробуйте переопределить его в Manager - убедитесь, что код не компилируется.

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