Diese Seite dient mir zum üben der Web-Programmiersprachen

Die klassenlose objektorientierte Programmiersprache

Statt einer Klasse erstellt man einen Konstruktor, eine Funktion die dem Objekt die gewünschten Werte zuweist. Diese Werte müssen bei der Erzeugung des Objektes in die Klammer geschrieben werden. Um nun diesen Konstruktor zu erstellen wird eine normale Funktion verwendet. Die darin erstellten Eigenschaften werden als Übergabewerte zum Objekt geschickt.

function KatzeKon (farbe, gewicht, geschlecht){
   this.Farbe = farbe;
   this.Gewicht = gewicht;
   this.Geschlecht = geschlecht;
}

Die Funktion ist allgemeingültig, soll also für alle Objekte benutzbar sein. Die Objekte selbt haben alle unterschiedliche Namen. Darum kann man nicht den Namen des Objektes für die Erstellung der Eigenschaften benutzen. Hier hilft der Platzhalter this. welcher stellvertretend für alle Objektnamen ist. Wenn nun ein Objekt mit dieser Funktion erstellt werden soll, kommt nicht mehr der Begriff Object zum einsatz, sondern der Name der Funktion. In der Klammer stehen die gewünschten Werte der Eigenschaften.

let Katze = new KatzeKon("schwarz", "6 Kg", "weiblich");

Vererbung durch Prototypen

Objekttypen können in Über- und Untergeordnete Kategorien eingeteilt werden. Die übergeordnete Kategorie der Katze könnte "Haustier" sein. Angenommen das Programm wäre für ein Haustiergeschäft, so haben alle Tiere und Produkte einen Preis und eine Verfügbarkeit.