Pasé las últimas dos horas tratando de encontrar una solución a mi problema, pero parece que no tiene remedio.
Básicamente, necesito saber cómo llamar a un método principal desde una clase secundaria. Todo lo que he intentado hasta ahora termina en no funcionar o sobreescribir el método principal.
Estoy usando el siguiente código para configurar OOP 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);
Necesito llamar primero al método de los padres y luego agregarle algunas cosas más en la clase secundaria.
En la mayoría de los lenguajes OOP eso sería tan simple como llamar parent.myMethod()
Pero realmente no puedo entender cómo se hace en javascript.
Cualquier ayuda es muy apreciada, gracias!
ParentClass.prototype.myMethod.apply() or
ParentClass.prototype.myMethod.call () `, como lo hace con su constructor.