OOP mit JavaScript: Kurze Einführung
Ich bin gerade wieder an unserer kleinen Inhouse-Webaplikation am Arbeiten und versuche meine Ajax-Funktion zu verbessern, da das langsam aber sicher ein kleines Chaos wird. Bei Recherechen im Internet bin ich wieder auf die OOP-Möglichkeiten von JavaScript gestossen. Ob JavaScript nun wirklich Objekt-Orientiert oder nur -Basiert ist will ich hier aussen vor lassen, das tut nichts zu Sache. Ich möchte an dieser Stelle nur die wichtigsten Dinge notieren, in der Hoffnung, dass jemand anders, oder ich in einiger Zeit damit etwas weiter kommt. Möglicherweise gibts dann noch einen zweiten Teil dazu.
Auch in JavaScript hat man die Möglichkeit zu definieren, ob eine Variable Public, oder Private ist. Auf Variabeln die Public sind, kann auch von ausserhalb des Objekts zugegriffen werden, auf private allerdings nicht. Um eine Variable zu erstellen die Public ist muss man this. davorstellen.
So, das war mal ein kleiner Exkurs in die OOP-Möglichkleiten von JavaScript. Es gibt da noch eine andere Funktionen, die ich wohl spätzer noch genauer erläutern werde.
Ein Objekt erzeugen
Mit JavaScript hat man die Möglichkeit ein Objekt zu erstellen und diesem dann im Nachhinein Eigeschaften (Variabeln) und Methoden (Funktionen) hinzuzufügen. Dies hat aber den Nachteil, dass man die Eigenschaften/Methoden jedem Objekt hinzufügen muss. Von dem her ist das eine weniger praktikable Lösung.// Ein Objekt erzeugen
var obj=new Object();
// Eine Eigenschaft definieren
obj.eigenschaft="Inhalt";
// Eine Methode definieren
obj.methode=function()
{
alert(obj.eigenschaft);
}
// Die Methode aufrufen
obj.methode();Eine Referenz erstellen
Die bessere Lösung ist es eine Klasse zu erstellen und danach eine Referenz zu diesem Objekt zu machen. In JavaScript gibt es allerdings keine Klassen, so muss man eine Funktion nehmen. Mit new erstellt man dann die Refernz.// Eine Funktion erstellen
function meinObjekt()
{
...
}
// Eine Referenz zum Objekt erstellen
var obj=new meinObjekt();Variabeln: Privat und Public
Auch in JavaScript hat man die Möglichkeit zu definieren, ob eine Variable Public, oder Private ist. Auf Variabeln die Public sind, kann auch von ausserhalb des Objekts zugegriffen werden, auf private allerdings nicht. Um eine Variable zu erstellen die Public ist muss man this. davorstellen.
// Das Objekt (Klasse) erstellen
meinObjekt=function()
{
// Eine "Public" Variable erstellen
this.public="Public";
// Eine Private Variable erstellen
var privat="Privat";
return true;
}
// Die Referenz erstellen
var klasse=new klasse();
alert(klasse.public); // Gibt "Public" zurueck
alert(klasse.privat); // Gibt "undefined" zurueckMethoden: Privat und Public
Bei Methoden sieht das ganz ähnlich aus wie bei den Variabeln, auch hier kann man Methoden erstellen die Public oder eben Privat sind.// Das Objekt (Klasse) erstellen
meinObjekt=function()
{
// Eine "Public" Methode erstellen
this.public=function()
{
alert("Public");
}
// Eine Private Methode erstellen
privat=function()
{
alert("Privat");
}
return true;
}
// Die Referenz erstellen
var klasse=new klasse();
klasse.public(); // Gibt "Public" zurück
klasse.privat(); // Gibt nichts zurückSo, das war mal ein kleiner Exkurs in die OOP-Möglichkleiten von JavaScript. Es gibt da noch eine andere Funktionen, die ich wohl spätzer noch genauer erläutern werde.