Завершение базового класса
Свойство ExchangeRate — это одна из частей общих функциональных возможностей
Другой фрагмент общих функциональных возможностей, которые мы хотим реализовать, — это вычисление курса валюты. Мы сделаем это в методах ConvertValue ()
ConvertValuelnverse () , которые преобразуют валюту из одного значения в другое
с использованием умножения. Следующий код демонстрирует методы в окончательк::: реализации базового класса CurrencyTrader:
public abstract class CurrencyTrader { private double _exchangeRate; protected double ExchangeRate { get {
return _exchangeRate; }
set {
_exchangeRate = value; }
protected double ConvertValue(double input)
return _exchangeRate * input; protected double ConvertValuelnverse(double input)
return input / _exchangeRate;
}
Код, выделенный полужирным шрифтом, — это методы конвертации одних дене:т ных единиц в другие. Обратите внимание, что нет никакого объявления денежных еди¬ниц, поскольку базовый класс — это вспомогательный класс, используемый для pea.—: зации гостиничного обменного пункта и биржевого валютного брокера.
На заметку. Функциональные возможности базового класса, даже если он очень прост, должна быть определены так, чтобы гарантировать целостность реализации. Без целостности вы мог/,-сталкиваться с ситуацией, когда реализация одного делает нечто совсем иное, чем реализац1' = другого.
На этом проверочный код завершается. Теперь мы реализуем компоненты биржеЕ: го брокера и гостиничного обменного пункта.