JavaScript Klassen mit Object-Literal Syntax erstellen
29. März 2009 Roland
- Programmierung
- Variablenzuweisungen und Berechnungen
- Alter berechnen nur mit JavaScript
- Alter berechnen mit und ohne Javascript
- Code Optimierung
- Client Server Applikationsarchitektur
- Eigenschaften eines Webbrowsers
- Stylesheets
- Interaktive Webclients
- Mit HTML, oder SVG, interaktive Ein- Ausgaben erstellen
- Mit JavaScript aus einem Dokument Daten lesen
- Der Webserver
- Webserver-seitige Programmierung
- Datenbankanbindung
- Architekturprinzip Separation of Concerns
- Beschreibung von Anwendungsfällen
- Mit JavaScript einen wiederkehrenden Event erzeugen
- Kommunikationswege bei Einsatz von Java auf dem Webclient
- Einbinden der JavaScript Timer Klasse in eine Webseite
- AJAX Kommunikation ohne Fassaden Pattern
- JavaScript Klassen mit Object-Literal Syntax erstellen
- Knackpunkte bei der Klasse AsyncCommunication
- Speicherverbrauch in AJAX Applikationen
- Auch bei JavaScript immer die Variablen sauber deklarieren
- Eventhandler im JavaScript mit dem HTML Dokument verknüpfen
- Objekte in JavaScript mit JSON deklarieren
JavaScript tut sich meiner Meinung nach ein wenig schwer mit der schönen Darstellung von Klassen.
Zum Glück gibt es da die sogenannten Object-Literale
Object-Literale für die Kurzschreibweise
Um die Object-Literale Darstellung näher zu bringen, habe ich hier ein Beispiel eines Personenmodells dargestellt.
Das Modell nimmt den Namen und den Vornamen einer Person entgegen und liefert, falls ein Name / Vorname vorhanden ist, diesen mit einem Postfix “_vomModel” zurück.
-
/**
-
* Das Modell, welches eine Person verwaltet.
-
*/
-
function Person(){
-
this.name = "";
-
this.firstName = "";
-
}
-
-
Person.prototype={
-
setName:function(name){
-
this.name = name;
-
},
-
-
getName:function(){
-
if(this.name != ""){
-
return this.name+"_vomModel";
-
}
-
return "";
-
},
-
-
setFirstname:function(firstName){
-
this.firstName = firstName;
-
},
-
-
getFirstname:function(){
-
if(this.firstName != ""){
-
return this.firstName+"_vomModel";
-
}
-
return "";
-
}
-
}
Ich habe absichtlich auf Kommentare verzichtet um auf die Eigenschaften dieser Darstellung aufmerksam machen zu können.
Du siehst zuerst den Konstruktor. (funktion Person(){})
Der ist wie gehabt aufgebaut.
Danach siehst du die Deklaration des Prototypen:
-
Person.prototype={
-
…
-
}
Innerhalb der Deklaration des Prototypen habe ich nun alle Methoden mit der Schreibweise methodenname:function(){} erstellt.
Die einzelnen Methoden werden durch Kommas separiert.
Da JavaScript intern alles mit Arrays darstellt, handelt es sich hierbei um ein Funktionenarray.
Mit dieser Klasse kannst du wie gehabt arbeiten. Du kannst dir mit
-
var person = new Person();
-
person.setName("horscht");
-
alert(person.getName());
-
}
eine Person anlegen, die Methoden set- und get aufrufen und damit rumspielen.
Fazit
Ich finde diese Darstellungsform sehr angenehm. Die Methoden haben eine angenehm kurze Deklaration und das Ganze ist relativ übersichtlich.
Der Beitrag wurde
am Sonntag, den 29. März 2009 um 13:28 Uhr veröffentlicht
und wurde unter Programmieren abgelegt.
Kurzlink: http://www.baldenhofer.eu/blog/?p=805
Dir gefiel der Artikel? Dann abonniere doch den RSS Feed![]()
Du kannst die Kommentare zu diesem Eintrag durch den RSS 2.0 Feed verfolgen. Du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.









[...] Einbinden der JavaScript Timer Klasse in eine Webseite AJAX Kommunikation ohne Fassaden Pattern JavaScript Klassen mit Object-Literal Syntax erstellen Knackpunkte bei der Klasse AsyncCommunication Speicherverbrauch in AJAX Applikationen Auch bei [...]