| Замена условной логики на полиморфизм | Страница 36 |
После перемещения метода getCharge делаем то же самое с кодом для
расчёта бонуса. Это приведёт к тому, что оба метода, зависящие от типа
фильма, находятся теперь в классе, где этот тип и содержится.
class Rental...
public int getFrequentRenterPoints() {
if( getMovie().getPriceCode()==Movie.NEW_RELEASE && getDaysRented()>1)
return 2;
else
return 1;
}

Рис 1.12 Диаграмма классов до переноса метода в класс Movie
Оглавление | << страница 35 | страница 37 >>