Interaktion mit globalen Variablen
JavaScript unterstützt außerdem die Anwendung globaler Variablen. Der Geltungsbereich der Variable g_area ist aus dem nachstehenden Ausschnitt ersichtlich:
<HTML> <SCRIPT> var g_area = 20; function Figure() { … this.area=g_area; … } function Rectangle(){ … } Rectangle.prototype = new Figure(); function test(){ g_area = 40; rect = new Rectangle(); alert(rect.area); } </SCRIPT> <BODY onLoad = 'test()'/> </BODY> </HTML>
Der Wert von rect.area ist 20 (nicht 40, wie man vielleicht erwarten würde), da Rectangle ein Prototyp des Objekts Figure ist und diese Beziehung bereits bestand, als test() aufgerufen wurde. Um den neuen Wert von g_area anzuwenden, muss man folgendes tun:
function test() { g_area = 40; Rectangle.prototype = new Figure(); rect = new Rectangle(); alert(rect.area); }
Hierdurch ändert sich der Wert der Eigenschaft area für alle neuen Instanzen von Rectangle. Alternativ kann man auch wie folgt vorgehen:
function test() { g_area = 40; rect = new Rectangle(); Rectangle.prototype.area = g_area; alert(rect.area); }
Hierdurch ändert sich der Wert der Eigenschaft area für alle bestehenden und neuen Instanzen von Rectangle.
Fazit
JavaScript bietet alle Eigenschaften wie Vererbung, Kapselung und des Außer-Kraft-Setzens, die zum Imitieren einer OO-Entwicklung erforderlich sind, obwohl es weder Schnittstellen noch Methodenüberladung unterstützt. Ist man auf dem Gebiet der OO-Entwicklung noch neu, sollte man es einmal versuchen. OO-Konzepte machen es Entwicklern möglich, eine zusammengehörende Reihe von Daten und Operationen in einem Objekt zu bündeln. Dies ist beim Umgang mit Browser-Events ebenso wie mit SVG-Bildern in einem Browser nützlich.
Neueste Kommentare
Noch keine Kommentare zu JavaScript unterstützt objektorientierte Entwicklung
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.