Diese Seite dient mir zum üben der Web-Programmiersprachen

Objektorientierte Progammierung

Orientiertes Programmieren soll dem menschlichen Denken nachempfungen sein, es ist ein Paradigma.
Mit Programmierparadigma meint man eine Denkweise, hier ein Programmierstil der mit Objekten arbeitet. Diese Objekte haben Klassen (Art des Objektes) und Eigenschaften. Diese Eigenschaften können vererbt werden.

Ein Beispiel:
In einem Programm gibt es verschiedene Katzen. Sie haben eine Farbe, Gewicht und Geschlecht. Jede Katze hat dabei unterschiedliche Werte. Diese könnte man alle in Variablen speichern, dann würde der Code jedoch sehr unübersichtlich werden und für einen Fremden Programmierer fast unmöglich nach zu vollziehen. Eine Möglichkeit dies zu struckturieren wären arrays oder maps. Eine andere Möglichkeit sind Objekte.

Objekte haben eine Klasse, so etwas wie eine Überschrift oder Gruppenname. Das könnte hier beispielsweise "Haustier" sein. Diese Klasse hat feste Eigenschaften. Jedes Tier hat eine Farbe, Gewicht oder Geschlecht. Diese Eigenschaften kann an eine Subklasse vererbt werden. Diese Subklasse würde dann "Katze" heißen. Sie übernimmt alle Eigenschaften ihreres Elternteils "Haustier" und fügt dem noch eigene zu. Das ersparrt viel Schreibarbeit und macht das programmieren viel leichter.


Ein Objekt erstellen in JavaScript

Ein Objekt ist ähnlich zu erstellen wie maps oder sets. Es wird mit dem Befehl let erstellt und bekommt einen Namen. Die Zuweisung geschiet mit dem Begriff new Object:

let Katze = new Object();

Um diesem Objekt mit dem Namen Katze eine Eigenschaft zu verpassen muss erst der Name genannt werden, gefolgt von einem Punkt und dann direkt den gewünschten Namen der Eigenschaft. Als nächstes wird ihm ein Wert zugewiesen.

Katze.Farbe = "Schwarz";
Katze.Gewicht = "6Kg";
Katze.Geschlecht = "Weiblich";

Um einen Wert auszugeben muss nur die Eigenschaft z.B Katze.Farbe genannt werden. Wenn die Bezeichnung ein Leerzeichen hat, kann JS es mit Hilfe von eckigen Klammern darstellen. Diese Variante ist eher unüblich.

alert (Katze.Farbe);
alert (Katze.["Die Farbe"]);

for-in-Schleife für Objekte

Um die Werte eines Objektes auszugeben gibt es die for-in-Schleife welche sehr ähnlich der for-of-Schleife ist. Diese Schleife gibt alle Werte der Eigensachaften des Objektes aus. In diesem Fall ist nur die Schreibweise der eckigen Klammer zulässig.

let Katze = new Object();
Katze.Farbe = "Schwarz";
Katze.Gewicht = "6Kg";
Katze.Geschlecht = "Weiblich";
for (let i in Katze){
   document.write (i + ": " + Katze[i] + "<br>");
}
Zum Katzen Objekt Programm

Klassen in JavaScript

Erst seit ECMAScript 6, die 2015 erschien hat JS Klassen. Davor nannte man JS auch eine klassenlose objektorientierte Programmiersprache. Um Objekte zu sturkturieren wurden Funktionen als Konstruktor verwendet. Da dies nun nicht mehr notwendig ist, sollen hier direkt die Klassen beschrieben werden. Fals diese alten Alternativen von Interesse sein sollten, klick auf folgenden Link:

Die klassenlose objektorientierte Programmiersprache