Переопределение методов в Java
Потомок может подменить метод родителя: в потомке объявляют метод
с той же сигнатурой и новым телом. Сначала зададим сеттер возраста
в Post:
class Post {
protected int age = 0;
public void setAge(int age) {
if (age >= 0) {
this.age = age;
}
}
public int getAge() {
return this.age;
}
}
В Article сузим допустимый возраст:
class Article extends Post {
public void setAge(int age) {
if (age >= 18 && age <= 65) {
this.age = age;
}
}
}
При вызове у объекта потомка выполняется версия из Article:
Article article = new Article();
article.setAge(25);
System.out.println(article.getAge());
В классе User сделайте
геттер и сеттер возраста.
В классе Employee переопределите
сеттер возраста и сделайте в нем
проверку на то, что возраст от
18 до 65 лет.