Java Reference
In-Depth Information
13.4.1■Was zeichnet eine Konstruktormethode aus?
Um ein eigenes Objekt anzulegen, müssen Sie innerhalb von JavaScript eine spezielle Funk-
tion als Konstruktormethode deinieren. Diese wird dann genauso zur Deklaration des
Objekts verwendet, wie Sie eine Konstruktormethode von Standardklassen einsetzen  -
indem Sie einer Variablen eine Referenz auf ein Objekt zuweisen, das Sie mit dem reservier-
ten JavaScript-Schlüsselwort new in Verbindung mit dem Konstruktor erzeugt haben. Dies
sieht also von der Syntax her schematisch so aus:
Listing 13.13■ Schema einer Objektdeklaration und das Erzeugen einer Objektinstanz
function [Konstruktormethode](){
... [Beschreibungen von Eigenschaften] ...
}
...
var [Referenz auf ObjektInstanz] = new [Konstruktormethode]();
Jetzt ist das Verwirrende für Programmierer aus vielen anderen Programmiersprachen wie
Java oder C#, dass an eine Funktion überhaupt keine Anforderungen gestellt werden, damit
sie als Konstruktormethode dienen kann! Die „Adelung“ einer gewöhnlichen Funktion zur
Konstruktormethode erfolgt ausschließlich über die Anwendung mittels des new -Operators.
Wird eine Funktion damit aufgerufen, agiert sie als Konstruktor. Oder anders ausgedrückt -
jede (!) Funktion kann im Prinzip als Konstruktor verwendet werden. Also geht sogar so
etwas (kap13_7.html):
Listing 13.14■ Eine primitive Konstruktormethode
...
<h1>Ein primitiver Konstruktor</h1>
<script type="text/javascript">
function meinKonstruktor() {}
var obj = new meinKonstruktor();
document.write(obj + "<br />");
document.write(obj.constructor + "<hr />");
for (var i in obj) {
document.write(i + ": " + obj[i] + "<br/ >");
}
</script>
</body>
</html>
In dem Code wird einfach eine leere Funktion deiniert. Sie hat überhaupt keinen sinnvollen
Inhalt und ist in keiner Weise besonders gekennzeichnet. Dennoch kann sie zur Erzeugung
eines Objekts verwendet werden, was wir mit var obj = new meinKonstruktur(); machen.
Sie werden sehen, dass die Eigenschat constructor von dem erzeugten Objekt auf diese
Bild 13.7■ Der Aufruf mit new führt dazu, dass eine Funktion als Konstruktor agiert.
Search WWH ::




Custom Search