Конструктор при наследовании в Java
У родителя параметры конструктора задают в объявлении класса.
Потомок передаёт нужные аргументы родителю через super(...)
в своём конструкторе:
class Post {
private final String title;
private final String text;
public Post(String title, String text) {
this.title = title;
this.text = text;
}
public String getTitle() {
return title;
}
public String getText() {
return text;
}
}
Пустой потомок вызывает конструктор родителя без своих полей:
class Article extends Post {
public Article(String title, String text) {
super(title, text);
}
}
Добавим в Article просмотры - сначала передаём
заголовок и текст в Post, затем сохраняем просмотры:
class Post {
private final String title;
private final String text;
public Post(String title, String text) {
this.title = title;
this.text = text;
}
public String getTitle() {
return title;
}
public String getText() {
return text;
}
}
class Article extends Post {
private final int views;
public Article(String title, String text, int views) {
super(title, text);
this.views = views;
}
public int getViews() {
return views;
}
}
Создание объекта передаёт все параметры:
Article article = new Article("News", "Hello", 10);
System.out.println(article.getTitle());
System.out.println(article.getViews());
Пусть класс Employee наследует
от класса User с конструктором,
принимающим имя и фамилию.
Добавьте в конструктор Employee
параметры возраста и зарплаты.
Сделайте геттеры для возраста и зарплаты.