Замена метода в потомке в C#
Если метод базы помечен как виртуальный, потомок может подставить свою реализацию с тем же именем и параметрами.
Слово override после объявления фиксирует замену:
компилятор проверит, что в базе есть подходящий
виртуальный метод. Запишем общий метод Role
и другую строку у сотрудника:
class User {
public virtual void Role() {
Console.WriteLine("user");
}
}
class Employee : User {
public override void Role() {
Console.WriteLine("employee");
}
}
Вызов на объекте сотрудника попадет в его версию:
Employee employee = new Employee();
employee.Role();
В классе User сделайте метод Role,
который выводит "user".
В классе Employee подставьте свою
реализацию, которая выводит "employee".
В классе User сделайте метод установки
возраста с проверкой неотрицательного значения.
В классе Employee подставьте свою версию,
которая принимает возраст только от 18
до 65 лет.