Passei as últimas duas horas tentando encontrar uma solução para o meu problema, mas parece sem esperança.
Basicamente, preciso saber como chamar um método pai de uma classe filho. Todas as coisas que eu tentei até agora acabam não funcionando ou substituindo o método pai.
Estou usando o seguinte código para configurar o OOP em 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);
Preciso chamar o método dos pais primeiro e depois adicionar mais algumas coisas na classe filho.
Na maioria das linguagens OOP, isso seria tão simples quanto chamar. parent.myMethod()
Mas eu realmente não consigo entender como isso é feito em javascript.
Qualquer ajuda é muito apreciada, obrigado!
ParentClass.prototype.myMethod.apply() or
ParentClass.prototype.myMethod.call () `, como faz com seu construtor.