Bei der objektorientierten Programmierung werden in einem Objekt sowohl Attribute als auch Operationen gemeinsam gespeichert.
Ein Objekt wird während des Programmablaufs mit Hilfe des Schlüsselworts new
aus einer Objekt-Schablone erzeugt. Die Objekt-Schablone ist im Quellcode des Programms notiert und wird auch Klasse genannt.
Eine Klasse, die man in einem Projekt als Objekt-Schablone nutzt, kann grafisch in einem Klassen-Diagramm dargestellt werden.
Zum Beispiel wird die Klasse "punktKlasse" aus dem letzten Kapitel wie folgt in einem Klassen-Diagramm dargestellt:
Ein Klassendiagramm besteht aus:
-
dem Klassen-Namen (hier "punktKlasse")
-
den Klassen-Attributen (hier "xkoord", "ykoord, "durchmesser" und "farbe"),
-
und den Klassen-Operationen (hier die Operation "zeichnen()").
Die Klasse wird dann im Quellcode eines Programms implementiert. In JavaScript sieht die Implementierung der Klasse "punktKlasse" wie folgt aus:
Quellcode:
class punktKlasse {
constructor(xkoord, ykoord, durchmesser, farbe) {
this.xkoord = xkoord;
this.ykoord = ykoord;
this.durchmesser = durchmesser;
this.farbe = farbe;
}
zeichnen() {
strokeWeight(this.durchmesser);
stroke(this.farbe);
point(this.xkoord, this.ykoord);
}
}
Die Operation "constructor" nimmt die Parameter entgegen, mit welchen ein Objekt angelegt werden soll und speichert diese in dem neu angelegten Objekt.
Während des Programmablaufs können auf der Basis einer Klasse beliebig viele Objekte angelegt werden. Das Schlüsselworts "this" erzeugt einen Verweis auf das gerade angelegte Objekt, so dass die Übergabe-Parameter im Arbeitsspeicher beim richtigen Objekt gespeichert werden:
-
let p1 = new punktKlasse(20, 50, 30, "crimson");
-
let p2 = new punktKlasse(140, 210, 20, "steelblue");
Mit diesen beiden Anweisungen wird jeweils ein Objekt im Arbeitsspeicher angelegt. Bei jedem Objekt werden in den Attributen verschiedene Werte gespeichert. In der Objekt-Schablone sorgt das Schlüsselwort "this" dafür, dass die richtigen Attribute beim richtigen Objekt gespeichert werden.