Как вызвать метод бабушки и дедушки в Nodejs - PullRequest
0 голосов
/ 05 сентября 2018

Мне нужно переопределить метод Parent и вызвать метод Grandparent с помощью NodeJs. Возможно ли это?

Например: A и B - это библиотечные классы.

class A {
   printFunction() {
       console.log('Hello');
   }
}

class B extends A {
   printFunction() {
       console.log('World');
   }
   runFunction() {
       console.log('Running');
   }
}

Теперь у меня есть класс C, который расширяет класс B.

class C extends B {
     // can i call class A printFunction here?
}

В классе C я могу назвать printFunction из A?

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

Точную функцию можно вызвать с помощью Function.prototype.call:

class C extends B {
  callA() {
    A.prototype.printFunction.call(this);
  }
}
0 голосов
/ 05 сентября 2018

Нет, в то время как класс C расширяет класс B, потому что вы уже переопределили printFunction() в классе B. С точки зрения класса C, не имеет значения, какое определение printFunction() в классе A имеет, потому что это был изменен.

Единственный способ сделать это состоит в том, чтобы класс C расширил класс A и переопределил любую функцию, которая вам требуется от класса B.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...