Я создаю класс конструкции Person, который имеет свойства и методы. Затем я создал другой конструктор Class Teacher, который наследует от Person и имеет собственные свойства. То, что я хотел, это восстановить информацию о методеreeting () Person (), но также добавить дополнительную информацию из свойств Teacher (). Если я ничего не делаю, он обычно наследует метод приветствия (), но я хочу добавить дополнительную информацию, поэтому я подумал написать еще раз приветствие () в конструкторе класса Teacher (). Случилось так, что новый метод приветствия () в классе Учителя заменил другой метод приветствия () из класса Персона. Я хочу добавить, а не заменить одно на другое.
это мой код:
class Person{
constructor(first, last, age, gender, interests){
this.name={
first,
last
};
this.age = age;
this.gender = gender;
this.interests = Array.isArray(interests) ? interests : [ interests ]
}
greeting(){
let hobbie = this.interests.join(', ');
return `Hi. I'm ${this.name.first} I am ${this.age} . I like ${hobbie}`;
}
farewell(){
return `${this.name.first} has left the building. Bye for now!`;
}
}
class Teacher extends Person{
constructor(first, last,age, gender, interests, subject, grade){
super(first, last,age,gender,interests);
this._subject = subject;
this.grade = grade;
}
*//here I wanted to add this information into the other that already exists .not replace on from another*
greeting(){
return `I am ${this._subject} teacher , I teach ${this.grade} grade `
}
get subject(){
return this._subject;
}
set subject(newSubject){
this._subject = newSubject;
}
}
let snape = new Teacher('Severus', 'Snape', 45, 'male',['Potions','anoying students','using Sectumsempra on my enimies'], 'Dark arts', 5)