Ho passato le ultime due ore a cercare di trovare una soluzione al mio problema, ma sembra essere senza speranza.
Fondamentalmente ho bisogno di sapere come chiamare un metodo genitore da una classe figlio. Tutte le cose che ho provato finora finiscono per non funzionare o sovrascrivere il metodo genitore.
Sto usando il seguente codice per impostare OOP in javascript:
// 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);
Devo prima chiamare il metodo del genitore e poi aggiungere altre cose ad esso nella classe del bambino.
Nella maggior parte dei linguaggi OOP sarebbe semplice come chiamare parent.myMethod()
Ma non riesco davvero a capire come sia fatto in JavaScript.
Qualsiasi aiuto è molto apprezzato, grazie!
ParentClass.prototype.myMethod.apply() or
ParentClass.prototype.myMethod.call () `, come fai con il tuo costruttore.