Javascript 如何在Nodejs中调用祖父母方法

Javascript 如何在Nodejs中调用祖父母方法,javascript,node.js,ecmascript-6,Javascript,Node.js,Ecmascript 6,我需要重写父方法并使用NodeJs调用祖父母方法。可能吗 例如:A和B是库类 class A { printFunction() { console.log('Hello'); } } class B extends A { printFunction() { console.log('World'); } runFunction() { console.log('Running'); } } 现在我有一个类C,它

我需要重写父方法并使用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类中,我可以调用A的
printFunction
吗?

不,而C类扩展了B类,因为您已经重写了B类中的
printFunction()
。从C类的角度来看,它不在乎A类对
printFunction()
的定义是什么,因为现在已经修改了


唯一的方法是让C类扩展A类,并从B类重新定义您需要的任何函数。

您可以使用以下方法调用确切的函数:


编写代码,看看它是否调用函数-然后你就会知道。你为什么要这样做?如果我在C类中调用
printfunction
,它将调用B类的函数。有没有方法调用A类的函数?@rijin我想使用B类的大部分逻辑,但我只想重用一个非常特定于B类的方法答:所以我们都在同一页上,我们应该清楚,必须这样做表明类层次结构设计得很糟糕。原型是一个旧方法。ES6中还有其他选项吗?我的意思是说,我们可以创建一个类A的实例,然后使用
.call
class C extends B {
  callA() {
    A.prototype.printFunction.call(this);
  }
}