Hauptmenü

Untermenü

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