Hauptmenü

Untermenü

OOP mit JavaScript - Überschreiben - Beim Prototyping

1. Altbekanntes

Beim Prototyping gelten dieselben Regeln wie bei der Aggregation. Alle Eigenschaften und Methoden die überschrieben werden, gelten nur für die entsprechenden Objekte, die daraus erzeugt wurden.

Der Code


function Kampfpanzer()
{
  this.kanone    120;
  this.schiessen = function()
  {
    alert ('Bumm mit ' this.kanone 'mm-Kanone');
  }
}
function nochnPanzer()
{
  this.kanone    155;
  this.schiessen = function()
  {
    alert ('Bumm mit superfetter endgeiler ' this.kanone 'mm-Kanone');
  }
}
nochnPanzer.prototype = new Kampfpanzer;
var pz_1              = new nochnPanzer;
pz_1.schiessen();
var pz_2              = new nochnPanzer;
pz_2.schiessen();

Erläuterung

Probiert das Beispiel einfach aus. Dann seht ihr was passiert. Und das Prinzip kennt ihr ja schon. Ich glaube auch nicht, dass ich dazu noch viel sagen muss.

2. Obacht!

Wenn ihr beim Prototyping bereits existierende Objekte um Methoden oder Eigenschaften ergänzen wollt, so passt um Gottes Willen höllisch auf, wie ihr die nennt. Denn wenn ihr Bezeichnungen dafür nehmt, die bereits existieren, so werden die knüppelhart überschrieben. Dann fallt ihr dabei so richtig derbe auf die Fresse. In dem folgenden Beispiel überschreibt ihr eine der wenigen Methoden, die das Array-Objekt euch bietet. Und das werdet ihr bitter bereuen, sobald ihr sie benötigt. Also die Augen auf!


Array.prototype.join = function ()
{
  alert ('Ätsch!');
};
blubb = new Array ('kräh','bla','schwall');
blubb.join (' ');

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt