Здравствуйте. Изучаю ООП JavaScript, проверяю задачу про вложение наследований. Имею классы grandfater, fater, i, которые наследуются друг от друга. У каждого класса метод getFullName(), который выводит "Имя Фамилия" в консоль, для дедушки просто "Имя Фамилия", для папы "Имя Фамилия (СССР)", а для внука "Имя Фамилия (Россия)". Суть в том, что метод папы и внука должны использовать метод getFullName() дедушки + дописывать свою строку.
У папы все получается
return super.getFullName() + " (СССР)" работает, а у внука обратится к дедушкиному методу не получатся. В пособии сказано, что должно сработать
super.super.getFullName() + " (Россия)", но оно не работает. И вот вопрос: как обратится к методу родителя из потомка потомка?
Код прилагаю. Буду благодарен за любую помощь.
class Grandfater {
constructor(name, surname) {
this.name = name;
this.surname = surname;
}
getFullName() {
return this.name + " " + this.surname;
}
}
class Fater extends Grandfater {
constructor(name, surname, status) {
super(name, surname);
this.status = status;
}
getFullName() {
return super.getFullName() + " (СССР)";
}
}
class Son extends Fater {
constructor(name, surname, status, age) {
super(name, surname, status);
this.age = age;
}
getFullName() {
return super.super.getFullName() + " (Россия)"; // вот эта строка не работает
}
}
var ded = new Grandfater("Василий", "Михайлов");
console.log(ded.getFullName());
var papa = new Fater("Николай", "Михайлов", "коммунист");
console.log(papa.getFullName());
var i = new Son("Максимка", "Михайлов", "коммунист", 5);
console.log(i.getFullName());