Creo un altro costruttore, e riporto il prototipo di Aereo.
function Veicolo(passeggeri){
this.velocita=0;
this.passeggeri=0;
this.carica=function(passeggeri){
if(passeggeri>0) this.passeggeri+=passeggeri;
}
this.carica(passeggeri);
}
function Aereo(passeggeri){
this.passeggeri=0;
this.carica(passeggeri);
}
Aereo.prototype=new Veicolo();
function Missile(passeggeri){
this.carica(passeggeri);
}
Missile.prototype=new Aereo();
var Apollo=new Missile(6);
document.write(Apollo.passeggeri);
Funziona perfettamente! La classe Missile ha ereditato il prototipo di Aereo. E ne ha ereditato una funzione che questo ha ereditato tramite il prototipo dal costruttore della classe Veicolo.Dunque a che serve modificare il costruttore di una classe derivata, se questa ereditarietà si può ottenere solo col prototipo?
Nessun commento:
Posta un commento