Книга: C# для профессионалов. Том II

Наследование от класса Employee

Наследование от класса Employee

Прежде чем определить класс Manager(), необходимо внести одно маленькое изменение в классе Employee:

public virtual decimal GetMonthlyPayment() {
 return salary/12;
}

что сделает метод GetMonthlyPayment() виртуальным (virtual). Это способ, которым C# сообщает, что данный метод в принципе может быть переопределен.

Можно подумать, что это означает изменение базового класса, что противоречит тезису о ненужности изменения базового класса. Однако добавление ключевого слова virtual на самом деле не является изменением, которое влечет за собой риск новых ошибок — при подходе VB необходимо было действительно переписать реализации нескольких методов. Кроме того, обычно при создании классов в C# заранее планируется, какие методы являются подходящими для переопределения. Если бы это был пример из реальной жизни, то метод GetMonthlyPayment() почти наверняка объявлялся бы виртуальным, поэтому на самом деле можно добавить класс Manager, не делая никаких изменений в классе Employee.

Оглавление книги


Генерация: 0.281. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз