J'ai passé les dernières heures à essayer de trouver une solution à mon problème, mais cela semble désespéré.
Fondamentalement, j'ai besoin de savoir comment appeler une méthode parent à partir d'une classe enfant. Tout ce que j'ai essayé jusqu'à présent finit par ne pas fonctionner ou par écraser la méthode parente.
J'utilise le code suivant pour configurer la POO en 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);
Je dois d'abord appeler la méthode du parent, puis y ajouter des éléments supplémentaires dans la classe enfant.
Dans la plupart des langages POO, ce serait aussi simple que d'appeler parent.myMethod()
Mais je ne peux vraiment pas comprendre comment c'est fait en javascript.
Toute aide est très appréciée, merci!
ParentClass.prototype.myMethod.apply() or
ParentClass.prototype.myMethod.call () `, comme vous le faites avec votre constructeur.