У меня 3 класса: Книга, Детская книга и Библиотека. ChildrensBook расширяет класс Book. ChildrensBook содержит дополнительную переменную RecommendedAge. Библиотека содержит массив, который может включать как объекты Book, так и ChildrensBook. В библиотеке классов мне нужно создать метод int forChildren (int n), который возвращает, сколько childrensBook возраста меньше или равного n находится в библиотеке массива. проблема в том, что в массиве библиотеки есть как книги, так и детские книги, поэтому я не могу получить доступ к переменной рекомендованного возраста, потому что она находится только внутри детской книги. как я могу сделать?
public class Library {
private ArrayList <Book> collection;
public Library(ArrayList <Book> c){
collection=c;
}
public int forChildren(int n) {
int count=0;
for(int i=0;i<collection.size();i++) {
if((collection.get(i).getRecommendedAge)<=n) {
count++;
}
}
return count;
}
public class Book {
private String title;
private String author;
public Book(String title, String author){
this.title=title;
this.author=author;
}
}
public class ChildrensBook extends Book {
private int recommendedAge;
public ChildrensBook(String title,String author,int recommendedAge){
super(title,author);
this.recommendedAge=recommendedAge;
}
public int getRecommendedAge() {
return recommendedAge;
}
}