Замена условной логики на полиморфизмСтраница 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 >>