Einführung Objektorientierte Programmierung siehe Kapitel 5.1
Die Sprache JavaScript schmückt sich nur mit dem Attribut ''objektbasiert''. Damit soll ausgedrückt werden, daß die Möglichkeiten gegenüber einer ''echten'' objektorientierten Sprache etwas eingeschränkt sind. Das betrifft vor allem die Definition beliebiger eigener Objekte. Eine neue Objektklasse definieren Sie in JavaScript implizit mit einer Funktionsdeklaration, z.B.
function Auto (t,k) { this.tueren = t this.kennzeichen = k }Das neue Schlüsselwort this steht für ''eine Eigenschaft dieses Objekts''.
meinAuto = new Auto (5,''C-99-99'')
Zugriff und Änderung einzelner Objekteigenschaften:
document.write(meinAuto.kennzeichen) meinAuto.tueren = 3Was noch fehlt, sind Operationen (''Methoden'') mit dem neuen Objekt. Ein Beispiel dafür soll die komfortable Ausgabe der Daten sein. Dafür deklarieren wir zunüchst eine neue Funktion:
function datenausgabe () { document.write("Nummer: ",this.kennzeichen) document.write(" Tueren: ",this.tueren) }Operation -> Methode
Beispiel:
function auto (t,k) { this.tueren = t this.kennzeichen = k this.druck = datenausgabe }
Aufruf einer Methode:
Objektname.Operation(Parameter)
Beispiel:
meinauto.druck()
Beispiel:
<HTML> <HEAD> <TITLE>Beispiel zum Erzeugen neuer Objekte</TITLE> </HEAD> <BODY> <SCRIPT> function datenausgabe () { document.write("Nummer: ",this.kennzeichen," mit ",this.tueren," T"uren") } function Auto (t,k) { this.tueren = t this.kennzeichen = k this.druck = datenausgabe } meinAuto = new Auto (5,"C-99-99") nocheinAuto = new Auto (3,"ANA-77-77") document.write("meinAuto:") meinAuto.druck() document.write("nocheinAuto:") nocheinAuto.druck() // jetzt aendern wir ein Attribut des 2. Autos nocheinAuto.kennzeichen = "MEK-33-33" document.write("nocheinAuto:") nocheinAuto.druck() </SCRIPT> </BODY> </HTML>