我正在浏览类似话题的讨论,但找不到适合我的情况...
我试图调用带参数的父级构造函数... 但好像无法搞定。
我有一个PhysicsBody
超类,它以aNode
作为唯一的构造函数参数:
function PhysicsBody(aNode) {
this.userData = aNode;
// ...
}
这个 PhysicsBody
类继承了一个 DynamicBody
类。它的构造函数也只接受 aNode
作为参数......就像我在Java中所做的那样,我希望调用与"super(aNode");
相当的东西。但是似乎找不到如何实现。
这是DynamicBody
类的定义:
// Wanted to give "new PhysicsBody(this, aNode)", but that fails!
DynamicBody.prototype = new PhysicsBody();
DynamicBody.prototype.constructor=DynamicBody;
function DynamicBody(aNode) {
// calling the parent constructor fails too:
// PhysicsBody.prototype.constructor.call(this, aNode);
//...
}
DynamicBody.prototype = Object.create( PhysicsBody.prototype );
而不是只执行DynamicBody.prototype = PhysicsBody.prototype;
?- 编辑:啊,这样做是为了在向DynamicBody
的原型添加方法时不覆盖父级原型。 - mclaassen