| И наконец... наследование | Страница 49 |
Сначала перенесём метод в класс 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;
}
Оглавление | << страница 48 | страница 50 >>