Как создать конструктор который копирует значения для класса наследника - Java
у меня есть класс Kwadrat который имеет копирующий конструктор public Kwadrat(Kwadrat kwadrat), и есть класс наследник Prostokat, и я не понимаю как сделать для него тоже копирующий конструктор, что бы там был только параметр обьект класса Prostokat.
То есть не понимаю как мне достучатсья до переменной с надкласса.
public class Kwadrat {
private int dlugosc;
public Kwadrat() {
this.dlugosc = 1;
}
public Kwadrat(int dlugosc) {
this.dlugosc = dlugosc;
}
public Kwadrat(Kwadrat kwadrat) {
this.dlugosc = kwadrat.dlugosc;
}
public int zwrocDlugosc() {
return dlugosc;
}
}
public class Prostokat extends Kwadrat{
private int szerokosc;
public Prostokat() {
super();
this.szerokosc = 1;
}
public Prostokat(int dlugosc, int szerokosc) {
super(dlugosc);
this.szerokosc = szerokosc;
}
public Prostokat(Prostokat prostokat) { // здесь в параметрах я все правильно указал
// а здесь видим что я могу только установить ширину прямоугольника,
// а как достучаться к высоте через надкласс, не понимаю
this.szerokosc = prostokat.szerokosc;
}
public int zwrocSzerokosc() {
return szerokosc;
}
}
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
public Prostokat(Prostokat prostokat) {
super(prostokat); // Если не вызвать super явно, то будет вызван super без параметров
szerokosc = prostokat.szerokosc;
}