Tôi đang duyệt thảo luận cho một chủ đề tương tự, nhưng không thể tìm thấy trường hợp của tôi ...Thừa kế đối số hàm tạo của cha mẹ
Đang cố gắng gọi hàm tạo phương thức cha với thông số ... dường như không thể làm đúng .
Tôi có một lớp cha PhysicsBody
rằng mất aNode
như là đối số nhà xây dựng duy nhất của nó:
function PhysicsBody(aNode) {
this.userData = aNode;
// ...
}
Trong PhysicsBody
này được thừa hưởng một lớp DynamicBody
. Là constructor cũng có aNode
là đối số duy nhất ... Giống như tôi sẽ làm điều đó trong Java, tôi rất muốn gọi một cái gì đó tương đương với "super(aNode");
Có vẻ như không thể tìm hiểu làm thế nào.
Đây là lớp 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);
//...
}
Tuyệt vời, cảm ơn thời gian của bạn! – Jem
Rực rỡ! Điều này đã loại trừ tôi từ thời cổ đại, nhưng nó rất đơn giản .. * faceslap * –
@ Lars-Erik Thành thật mà nói, đó là một mớ hỗn độn :-). Phiên bản sắp tới của JavaScript (ECMAScript 6) sẽ mang lại cú pháp lớp, điều này sẽ làm cho mẫu này đơn giản hơn nhiều. –