我必须在Javascript中实现以下代码,但在javascript中找不到等效的super.say()
。怎么做这个翻译?
class Foo {
public void say() {
System.out.println("foo");
}
}
class Bar extends Foo {
static int counter = 0;
public void say() {
super.say();
counter++;
System.out.println("bar " + counter);
}
}
答案 0 :(得分:4)
有一篇文章详细描述了它:http://joshgertzen.com/object-oriented-super-class-method-calling-with-javascript/
基本上,你需要存储对你的基本方法的引用,然后在“派生”(也许是“阴影”可能是一个更好的词)方法中调用它。
答案 1 :(得分:0)
关键字super
不像Java那样在Javascript中工作,因为没有类的概念。没有课程,你就没有后代,因此super
在这种情况下是无用的。
您可以实现super
之类的内容,例如here所述。