OOP mit JavaScript - Aggregation - Vererbungsprinzip
1. Ein paar Modifikationen
Zunächst mal wollen wir unseren Spezialpanzer
ein wenig aufmotzen. Dazu verpassen wir ihm ordentlich PS unter der Haube
und geben ihm auch noch was zum Rumballern mit.
function SpezialPanzer()
{
var panzer = new Panzer;
panzer.ps = 1500;
panzer.mg = 7.62;
panzer.schiessen = function()
{
alert ('Ratatat mit ' + this.mg + 'mm-Maschinengewehr');
}
}
Erläuterung
Das Objekt panzer
erbt hier die Methode fahren
aus dem Konstruktor Panzer
. Gleichzeitig wird
ihm die Methode schiessen
und die Eigenschaft mg
hinzugefügt. Die bereits existierende Eigenschaft
ps
dagegen wird mit einem anderen Wert belegt (dazu gleich mehr).
Und noch mal der Hinweis
Alles, was hier gemacht wurde, bezieht sich ausschließlich auf das Objekt panzer
innerhalb der Konstruktorfunktion
SpezialPanzer
. Unser Originalpanzer hat noch immer kein MG und nur schlappe 400 PS unter der Haube.
2. Und noch ein paar Modifikationen
function SpezialPanzer()
{
var panzer = new Panzer;
panzer.ps = 1500;
panzer.mg = 7.62;
panzer.schiessen = function()
{
alert ('Ratatat mit ' + this.mg + 'mm-Maschinengewehr');
}
var kampfpanzer = new Kampfpanzer;
kampfpanzer.kanone = 220;
this.kaempfen = function()
{
panzer.fahren();
panzer.schiessen();
kampfpanzer.schiessen()
}
}
var supipanzer = new SpezialPanzer;
supipanzer.kaempfen();
Erläuterung
Ich denke, hierzu brauche ich nicht mehr viel zu erzählen. Zunächst mal bekommt die Objektreferenz kampfpanzer
eine größere
Wumme und zum Schluss werden alle Methoden aufgerufen, die man in einem Gemetzel so braucht.
zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt