Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einleitung
2 Die Basis der Objektorientierung
3 Die Prinzipien des objektorientierten Entwurfs
4 Die Struktur objektorientierter Software
5 Vererbung und Polymorphie
6 Persistenz
7 Abläufe in einem objektorientierten System
8 Module und Architektur
9 Aspekte und Objektorientierung
10 Objektorientierung am Beispiel: Eine Web-Applikation mit PHP 5 und Ajax
A Verwendete Programmiersprachen
B Literaturverzeichnis
Stichwort

Download:
- ZIP, ca. 5,2 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Objektorientierte Programmierung von Bernhard Lahres, Gregor Rayman
Das umfassende Handbuch
Buch: Objektorientierte Programmierung

Objektorientierte Programmierung
2., aktualisierte und erweiterte Auflage, geb.
656 S., 49,90 Euro
Galileo Computing
ISBN 978-3-8362-1401-8
Pfeil A Verwendete Programmiersprachen
  Pfeil A.1 C++
  Pfeil A.2 Java
  Pfeil A.3 C#
  Pfeil A.4 JavaScript
  Pfeil A.5 CLOS
  Pfeil A.6 Python
  Pfeil A.7 Ruby


Galileo Computing - Zum Seitenanfang

A.4 JavaScript  topZur vorigen Überschrift

JavaScript wurde ursprünglich bei Netscape entwickelt und hatte seinen ersten Einsatz in der Version 2 des Netscape Navigators. JavaScript wurde dort eingesetzt, um Webseiten mit dynamisch erzeugten Inhalten zu versehen. Microsoft entwickelte eine Entsprechung hierzu unter dem Namen JScript. In den Versionen des Internet Explorers ab Version 3.0 wird also nicht eigentlich JavaScript unterstützt, sondern JScript. Allerdings erfolgte eine Vereinheitlichung der beiden damit existierenden De-facto-Standards unter dem Namen ECMA-Script. ECMA stand ursprünglich für European Computer Manufacturers Association, mittlerweile gibt es diese aber nicht mehr unter diesem Namen, und die ECMA ist zu einer Institution geworden, die Standards im Bereich der IT-Technologie verwaltet. Wenn das verwirrend klingt, ist das kein Zufall. Es ist nämlich verwirrend. Zwar basieren die aktuellen Versionen von JavaScript und JScript beide auf der Version ECMA-262, Revision 3. Die beiden Sprachen bringen jedoch jeweils eigene Erweiterungen mit ein, so dass für eine Variante erstellte Skripte nicht unbedingt in einem anderen Browser lauffähig sind.

Allerdings hat sich als Name weder JScript noch ECMAScript durchgesetzt. Und man muss auch zugeben, dass ECMAScript nun wirklich kein schöner Name ist. Deshalb wird in der Regel einfach der Name JavaScript verwendet, auch wenn dabei eigentlich der Standard (ECMAScript) oder die Umsetzung des Standards in den Microsoft-Produkten (JScript) gemeint ist. Mit Java hat JavaScript außer der Namensähnlichkeit sehr wenig gemeinsam. Die Syntax basiert eher locker auf der Sprache C, die objektorientierten Mechanismen von JavaScript sind völlig andere als die von Java.

Struktur von JavaScript

JavaScript ist dynamisch typisiert und wird in der Regel in der jeweiligen Laufzeitumgebung (häufig ein Webbrowser) interpretiert.

JavaScript kennt keine Klassen. Eine Art von Vererbungsbeziehung ist dennoch über die Zuordnung von sogenannten Prototypen möglich. Jedem Objekt kann dadurch ein Prototyp (wieder ein Objekt) zugeordnet werden, dessen Eigenschaften das Objekt mit übernimmt. Dadurch können Ketten aufgebaut werden, die eine Art von Vererbungsbeziehung darstellen. Jedes Objekt erbt damit alle Eigenschaften der folgenden Objekte in der Kette.

Da diese Beziehungen zwischen Objekten bestehen und nicht zwischen Klassen, können die Struktur und die Eigenschaften aller Objekte zur Laufzeit angepasst werden. Wird also ein Objekt zur Laufzeit geändert, das als Prototyp für mehrere andere Objekte agiert, ändern sich auch die Eigenschaften dieser beteiligten Objekte.

Syntax von JavaScript

function StructuredName() 
{ 
    // ... Funktionalitäten von strukturierten Namen 
} 
 
function VersionNumber(parts)  
{ 
    this.parts = parts;  
    this.toString = function()  
    { 
        description = ""; 
        for (var i = 0; i < parts.length – 1; ++i)  
        { 
           description = description + parts[i] + "."; 
        } 
        return description + parts[parts.length – 1];  
 
    }; 
} 
 
VersionNumber.prototype = new StructuredName();  
 
var parts = new Array("6","0","2800","1106");  
var version = new VersionNumber(parts);  
alert(version.toString());  
version.product = "Internet Explorer"; 
  • Die Funktion VersionNumber, die als Vorlage für Objekte dient.
  • Jedes über die Funktion VersionNumber erstellte Objekt enthält eine Variable mit dem Namen parts. Da JavaScript dynamisch typisiert ist, ist der Typ der Variablen nicht festgelegt. Da die Variable über this.parts deklariert ist, ist sie auch nach außen sichtbar. Wenn wir stattdessen die Deklaration var myparts = parts verwendet hätten, wäre die Sichtbarkeit auf interne Methoden beschränkt. In JavaScript lassen sich also durchaus Entsprechungen zu privaten Instanzvariablen realisieren.
  • Jedes über die Funktion erstellte Objekt hat wiederum eine Methode toString, die an dieser Stelle implementiert wird.
  • An dieser Stelle wird die Annahme gemacht, dass es sich bei parts um ein Array handelt, das hier durchlaufen wird. Sollte parts zur Laufzeit mit einem Objekt eines anderen Typs belegt sein, kommt es zu einem Laufzeitfehler.
  • Die Methode toString gibt ihr Ergebnis über return zurück.
  • Über die Zuweisung VersionNumber.prototype = new StructuredName() wird eine Vererbungsbeziehung etabliert. Die über die Funktion VersionNumber erstellten Objekte haben alle Eigenschaften, die das über new StructuredName() erstellte Objekt aufweist.
  • Wir legen ein Objekt vom Typ Array an und weisen dieses der Variablen parts zu.
  • Über den Aufruf von new in Kombination mit einer Funktion wird die Funktion als Objektkonstruktor benutzt. Es wird ein neues Objekt erstellt und mit den in der Funktion definierten Eigenschaften ausgestattet.
  • Die Methode toString wird für das neu angelegte Objekt aufgerufen.
  • Dem Objekt, das der Variablen version zugewiesen ist, ordnen wir nun ein neues Attribut product zu und belegen es mit dem Wert »Internet Explorer«. Damit unterscheidet sich dieses Objekt in seiner Struktur von anderen Objekten, die über die Funktion VersionNumber angelegt wurden.

Ressourcen

Eine online verfügbare gute Dokumentation zur JavaScript ist Teil der von Stefan Münz gepflegten Selfhtml-Webseite. Unter http://de. selfhtml.org/javascript/ findet sich eine gute Übersicht über die Sprache und auch ihre Geschichte.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  Zum Katalog
Zum Katalog: Objektorientierte Programmierung






Objektorientierte Programmierung
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Tipp
Zum Katalog: Coding for Fun







 Coding for Fun


 Buchempfehlungen
Zum Katalog: UML 2.0






 UML 2.0


Zum Katalog: Java ist auch eine Insel






 Java ist auch
 eine Insel


Zum Katalog: Visual Basic 2008






 Visual Basic 2008


Zum Katalog: Visual C# 2008






 Visual C# 2008


Zum Katalog: C/C++






 C/C++


Zum Katalog: C++ von A bis Z






 C++ von A bis Z


Zum Katalog: PHP 5.3 und MySQL 5.1






 PHP 5.3 und
 MySQL 5.1


Zum Katalog: Python 3






 Python 3


Zum Katalog: Besser PHP programmieren






 Besser PHP
 programmieren


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2009
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de