Salve a tutti,
Ho il seguente codice:
codice:
Player = function() {}
Player.prototype = new Sprite;
Player.prototype.__super__ = Sprite;
La classe Player è figlia della classe Sprite.
Ho sviluppato l'ereditarietà in questo modo per ottenere questo:
codice:
Player.prototype.update = function(mod)
{
//altro codice...
this.__super__.prototype.update.call(this,mod);
}
In questo modo mi è possibile fare un overload di un metodo e chiamare il metodo base della classe madre.
Fin qui tutto ok. Il problema è che se provo a scrivere
codice:
var p1 = new Player("jack");
il parametro di Player NON viene passato al costruttore di Sprite.
Tutto si dovrebbe giocare nelle prime 3 di codice che ho scritto. Se per esempio sostituisco alla seconda riga questo
codice:
Player.prototype = new Sprite("jack");
il parametro chiaramente viene passato, ma ciò che mi interessa è farlo lavorando sull'istanza di Player e non direttamente su Sprite!!
In poche parole con questo approccio ho "compromesso" l'ereditarietà... qualche idea per farla funzionare?
Grazie in anticipo per eventuali suggerimenti