Как вызвать метод из другого класса - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть два класса. Второй класс должен продолжаться от одного. Оба имеют метод с одинаковым именем, которые делают разные console.logs. Как сначала console.log («Привет из класса Один!»), А затем console.log («Привет из класса Два!»), Вызвав newTwo.hey ()? Я получаю только «Привет из второго класса!»;

class One{
  sayHey() {
   console.log('Hey from class One!');       
  }
}

class Two extends One{
  constructor() {
    super();
}
  sayHey() {
   console.log('Hey from class Two!');       
  }
}

const newOne = new One();
const newTwo = new Two();
newTwo.sayHey();

1 Ответ

2 голосов
/ 16 апреля 2020

Реализация sayHey в классе Two overrides метод sayHey родительского класса, что означает, что вызывается только дочерняя реализация. Вы можете получить доступ к родителю с помощью ключевого слова super и вызвать метод, используя его.

class Two extends One {
    sayHey() {
        super.sayHey()
        console.log(...)
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...