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

Rispondi quotando