私は自分の問題の解決策を見つけるために過去数時間を費やしましたが、どうしようもないようです.
基本的に、子クラスから親メソッドを呼び出す方法を知る必要があります。私がこれまでに試したすべてのことは、機能しないか、親メソッドを上書きすることになります。
次のコードを使用して、JavaScript で OOP を設定しています。
// SET UP OOP
// surrogate constructor (empty function)
function surrogateCtor() {}
function extend(base, sub) {
// copy the prototype from the base to setup inheritance
surrogateCtor.prototype = base.prototype;
sub.prototype = new surrogateCtor();
sub.prototype.constructor = sub;
}
// parent class
function ParentObject(name) {
this.name = name;
}
// parent's methods
ParentObject.prototype = {
myMethod: function(arg) {
this.name = arg;
}
}
// child
function ChildObject(name) {
// call the parent's constructor
ParentObject.call(this, name);
this.myMethod = function(arg) {
// HOW DO I CALL THE PARENT METHOD HERE?
// do stuff
}
}
// setup the prototype chain
extend(ParentObject, ChildObject);
最初に親のメソッドを呼び出してから、子クラスでさらにいくつかのものを追加する必要があります。
ほとんどの OOP 言語では、呼び出しと同じくらい簡単ですがparent.myMethod()
、javascript でどのように行われるかを本当に理解できません。
どんな助けでも大歓迎です、ありがとう!