JavaScript unterstützt objektorientierte Entwicklung

Sie denken vielleicht, dass Figure() nicht wie eine Klasse aussieht, sondern eher wie eine JavaScript-Funktion. Weshalb ist Figure() eine Klassendefinition?

Um es genau zu sagen: Die Funktionsbeschreibung Figure() ist keine Klassendefinition, sondern sie imitiert sie. In Wirklichkeit erzeugt sie ein Objekt, und der innerhalb der geschweiften Klammern enthaltene Code ist der Konstruktor dieses Objekts. Die von JavaScript gebotene Objektunterstützung ist rudimentär und unterscheidet Klassen nicht von Objekten.

Dies führt nun zu der Frage, warum die Funktion Figure() ein Objekt erzeugt. Ein Objekt kann Eigenschaften und Methoden besitzen. Nachdem die Funktion Figure() sowohl Eigenschaften als auch Methoden hat, ist sie im Grunde ein Objekt. In JavaScript sind alle Funktionen gleichermaßen Objekt und aufrufbarer Codeblock. Dies ist weniger verwirrend als es scheint. Um eine Instanz der Klasse bzw. des Objekts Figure() zu erzeugen, wird einfach die nachstehende
Syntax angewandt:


MyFigure = new Figure();

Die Funktion Figure()wird als Codeblock wie folgt aufgerufen:


figValue = Figure();

Die Variable figValue ist nicht definiert, da der Codeblock Figure() keinen Wert zurückgibt. Fügt man return(this.area) als letzte Zeile der Funktion zu, wird figValue den Wert „0“ haben. figValue ist daher ein Zahlenwert, und MyFigure ist eine Instanz des Objekts Rectangle.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu JavaScript unterstützt objektorientierte Entwicklung

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *