Klassen

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Klassen in JavaScript

Die Definition einzelner Objekte hat einen großen Nachteil: Es ist aufwendig, mehrere Objekte der gleichen Art zu erstellen. So muss bei vielen Objekten von Personen beispielsweise der gleiche Code für eine Funktion wie atmen() immer wieder verwendet werden. Vor allem bei Änderungen an dieser Funktion kann es zu Problemen kommen.

Klassen fassen Objekte mit ähnlichen Eigenschaften und gleichen Funktionen zusammen. Sie dienen als Bauplan für all ihre Instanzen und beschreiben, welche Attribute ein Objekt ihres Typs haben kann (ohne selbst Werte festzulegen) oder welche Funktionen diese aufweisen.

Eine Klasse fasst gemeinsame Eigenschaften und Methoden von Objekten zusammen. Sie dient als "Bauplan" für all ihre Instanzen.

Eine Instanz ist ein Objekt, welches vom Typ einer Klasse ist. Sie stellt die konkrete Ausprägung des "Bauplans" dar.

JavaScript ist eine klassenlose Programmiersprache. Trotzdem kann man mithilfe einer Funktion viele Objekte des gleichen Typs erzeugen.

Das Schlüsselwort this dient als Platzhalter für das Objekt, welches instanziiert (=erzeugt) werden soll. Für die Instanziierung verwendet man das Schlüsselwort new, durch welches der Konstruktor aufgerufen wird.

Ein Konstruktor ist eine spezielle Funktion, die zur Erstellung von Instanzen einer Klasse (Instanziierung) verwendet wird. Sie wird durch das Schlüsselwort new aufgerufen.

Klassen in UML

Flogerlinghoff UML Klasse.JPG

Unter dem Klassennamen werden erst wieder die Attribute und dann die Methoden angegeben. Nach dem Doppelpunkt wird der bei Attributen der Typ der Wertes, bei Methoden der Rückgabetyp angegeben. Das gleiche ist auch bei der Beschreibung von Objekten möglich. Der Datentyp der Parameter einer Methode wird auch auf diese Weise angegeben.

Eine mögliche Umsetzung der Klasse:

Instanze von Klassen werden mit der Klasse durch eine gestrichelte Linie verbunden. Die Pfeilspitze zeigt von der Instanz zur Klasse. Dadurch wird die "ist ein"-Beziehung zwischen Klasse und Instanz ausgedrückt.

Flogerlinghoff UML Klasse-Instanz-Beziehung.JPG

Aufgaben

Erstelle die Klasse Moebel und erzeuge Instanzen von dieser.

 

Quelltext überprüfen:

Persönliche Werkzeuge