Я провел последние пару часов, пытаясь найти решение моей проблемы, но кажется, что это безнадежно.
В основном мне нужно знать, как вызвать родительский метод из дочернего класса. Все, что я пробовал до сих пор, заканчивается тем, что он не работает или не переписывает родительский метод.
Я использую следующий код для настройки OOP в 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 methods
ParentObject.prototype = {
myMethod: function(arg) {
this.name = arg;
}
}
// child
function ChildObject(name) {
// call the parent 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);
Мне нужно сначала вызвать родительский метод, а затем добавить в него еще несколько вещей в дочернем классе.
В большинстве языков ООП это будет так же просто, как вызов parent.myMethod()
Но я действительно не могу понять, как это делается в javascript.
Любая помощь очень ценится, спасибо!