Vererbung
Zusammenfassend gilt für die OOP in JavaScript bisher: alle Objekte bestimmen ihre Eigenschaften und ihr Verhalten selbst. Ein Prototyp kann als Vorlage bei der Konstruktion dienen. Er definiert aber in keinster Weise einen Contract.
Vererbung mit der Prototype-Chain
ES5: Prototype chain
MDN Guide: Vererbung mit der Prototype-Chain
Ein Prototype kann auf eine Instanz eines anderen Objektes gesetzt werden. Damit "erbt" ein Objekt unserer Konstruktor-Funktion die Eigenschaften und Methoden jenes Objektes.
function Konto( nr ) {
this.nr = nr;
this.stand = 0.0;
console.log('Konto-Konstruktor');
}
Konto.prototype = {
einzahlen: function(betrag) {
this.stand += betrag;
},
toString: function() {
return "Konto " + this.nr;
}
};
function GiroKonto( nr ) {
this.nr = nr;
}
GiroKonto.prototype = new Konto();
var gk1 = new GiroKonto(1002);
console.log(gk1);
console.log( "gk1 is GiroKonto: " + (gk1 instanceof GiroKonto));
console.log( "gk1 is Konto: " + (gk1 instanceof Konto));