Jörg Reinholz: Unschönes am Prototyping

Beitrag lesen

Moin!


<html>
<script>
// Das ist eine "Klasse"
function Katze () {
  var schnurr="rrrrrrrrrrrrrrrrrrrrrrrrr";
  this.schnurren = function (s="Katze") {
    alert(s + ": " + schnurr);
  }
};

var mauzi = new Katze(); // Objekt von Klasse ableiten

// Klasse mit Protyping erweitern
Katze.prototype.miau = function (s="Katze") {
    alert(s + ": " + "Miau!");
};

Katze.prototype.miau = function (s="Katze") {
    alert(s + ": " + "Mijau Mijau");
};

var sylvester = new Katze(); // Objekt von erweiterter Klasse ableiten
// … und so benutzt:

mauzi.schnurren('Mauzi');
sylvester.schnurren('Sylvester');
mauzi.miau('Mauzi');
sylvester.miau('Sylvester');

</script>
<body>
<h1>Katze</h1>
</body>
</html>

Unschön: Es werden auch bereits abgeleitete Objekte geändert und dabei Eigenschaften und Methoden überschrieben.

Jörg Reinholz