Java Reference
In-Depth Information
 13 Erweiterte
Objekttechniken
In diesem Kapitel wollen wir einige erweiterte JavaScript-Techniken besprechen, mit denen
Sie im Laufe Ihrer fortgeschrittenen JavaScript-Karriere durchaus zu tun bekommen kön-
nen. Dies umfasst einen tieferen Blick auf die objektorientierte Programmierung mit der
Objekterweiterung, dem Prototyping und der Erstellung eigener Konstruktormethoden.
Dieses Kapitel kümmert sich also um Techniken in JavaScript, die vor allen Dingen Leser
mit Hintergrundwissen in der objektorientierten Programmierung aus anderen Sprachen
interessieren dürte und solche Leser, die mit JavaScript objektorientiert arbeiten wollen.
Vererbung zählt zu den elementarsten Kernprinzipien der objektorientierten Programmie-
rung. Denn darüber lassen sich Spezialisierungen von vorhandenen Strukturen efektiv
realisieren. Vererbung basiert allgemein auf dem Erstellen von Klassen zur Beschreibung
von Eigenschaten und Methoden von Objekten und der gezielten Erweiterung solcher be-
stehender Klassen. Nur schreiben Sie selbst in JavaScript keine Klassen, wie Sie es in streng
objektorientierten Sprachen wie Java, C++ oder C# machen, zumindest nicht im Sinn einer
echten Klassendeklaration mit spezieller Syntax, wobei das in Zukunt auch in JavaScript
2.0 kommen soll (siehe Abschnitt 13.6).
In JavaScript, was ja explizit keine objektorientierte Sprache ist, können Sie indessen zu-
mindest sogenanntes Prototyping betreiben, was eine Art Ersatz für Vererbung darstellt
und worüber man klassische Vererbung sogar mit einer speziellen Codekonstruktion simu-
lieren kann. Auch lassen sich einzelne Objekte individuell erweitern. Sie können eigene
Konstruktormethoden schreiben und daraus Objekte erzeugen. Selbst fortgeschrittene OO-
Techniken wie Datenkapselung sind nicht ganz unmöglich, wenn man ein wenig „trickst“.
13.1■Was zeichnet in JavaScript eine Methode
gegenüber einer normalen Funktion aus?
Zuerst klären wir die Frage, was eigentlich in JavaScript eine Methode von einer normalen
Funktion unterscheidet? Diese Frage dürte vor allen Dingen Leser mit Hintergrundwissen
in der objektorientierten Programmierung ziemlich auf den Nägeln brennen, obwohl die
Lösung bereits im Buch mehrfach angedeutet wurde. Die Antwort ist: NICHTS ! In JavaScript
 
Search WWH ::




Custom Search