@Zelyoniy

Как применить наследование в таком случае?

Я только начинаю в жс, и пока не понимаю, как в моём случае сделать хотя бы 2 класса из одного, с наследованием? Это делается для "показать", и то, что это необязательно - понимаю. На странице добавляются комментарии с возможностью ответа на комментарии первого уровня + счётчик всех комментариев.
  • Вопрос задан
  • 120 просмотров
Пригласить эксперта
Ответы на вопрос 1
lazalu68
@lazalu68
Salmon
Простенький пример
class Person {
  constructor(name) {
    this.name = name;
  }
  sayName() {
    console.log('My name is ', this.name + '!');
  }
  sayHi() {
    console.log('Hello everybody!');
  }
}

class AngryPerson extends Person {
  constructor(name, phrase) {
    super(name);
    this.phrase = phrase
  }
  sayHi() {
    console.log('I just fucking hate you all');
  }
  saySomethingElse() {
    console.log(this.phrase);
  }
}


Jim = new Person('Jim'); 
// Object { name: "Jim" }

Jim.sayName(); 
// My name is Jim!

Jim.sayHi(); 
// Hello everybody!

Jim.saySomethingElse(); 
// TypeError: Jim.saySomethingElse is not a function 


Bob = new AngryPerson('Bob', 'Please, leave me alone'); 
// Object { name: "Bob", phrase: "Please, leave me alone" }

Bob.sayName();
// My name is Bob!

Bob.sayHi();
// I just fucking hate you all

Bob.saySomethingElse();
// Please, leave me alone
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы