Per il codice seguente, che crea la gerarchia di ereditarietà,
function Animal(){
this.name = "Animal";
// toString is a function in the main Object that every
// object inherits from
this.toString = function() {
return "My name is : " + this.name;
};
}
function Rodent(){
this.name = "Rodent";
}
function Rat(){
this.name = "Rat";
}
Rodent.prototype = new Animal();
Rat.prototype = new Rodent();
Rodent.prototype.constructor = Rodent;
Rat.prototype.constructor = Rat;
var caneRat = new Rat();
document.write(caneRat.toString() + "<br />");
viene eseguita una piccola modifica sostituendo completamente Rat.prototype
con Rodent.prototype
, come secondo approccio, mostrato sotto,
function Animal(){
this.name = "Animal";
// toString is a function in the main Object that every
// object inherits from
this.toString = function() {
return "My name is : " + this.name;
};
}
function Rodent(){
this.name = "Rodent";
}
function Rat(){
this.name = "Rat";
}
Rodent.prototype = new Animal();
Rat.prototype = Rodent.prototype;
Rodent.prototype.constructor = Rodent;
var caneRat = new Rat();
document.write(caneRat.toString() + "<br />");
Quali sono i vantaggi & svantaggi nel secondo approccio della gerarchia dell'ereditarietà rispetto al primo approccio? Il secondo approccio è visualizzato come mostrato di seguito ..