Сначала перенесем метод в класс Price:
  class Movie...
    public int getFrequentrenterPoints( int daysRented) {
      return price.getFrequentrenterPoints( daysRented);
    }

  class Price...
    public int getFrequentrenterPoints( int daysRented) {
      if( getPriceCode()==Movie.NEW_RELEASE && daysRented>1) 
        return 2;
      else 
        return 1;
    }
Однако в данном случае мы не будем делать метод абстрактным в родительском классе. Вместо этого, переопределим его для новинок и оставим метод в родительском классе как дефолтный:
  class Price...
    public int getFrequentrenterPoints( int daysRented) {
      return 1;
    }

  class NewReleasePrice...
    public int getFrequentrenterPoints( int daysRented) {
      return daysRented>1 ? 2 : 1;
    }

В начало | предыдущая | следующая