next up previous
Next: Statische Member Up: No Title Previous: Vordefinierte Funktionen

Objekte

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''.
Ein konkretes Objekt erzeugen Sie nun mit dem Operator new. Dabei müssen Sie natürlich die für Auto deklarierten Parameter übergeben:

meinAuto = new Auto (5,''C-99-99'')

Zugriff und Änderung einzelner Objekteigenschaften:

document.write(meinAuto.kennzeichen)
meinAuto.tueren = 3
Was 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
this.Operationsname = Funktionsname

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>



Dr.Andreas Mueller
Fri Jun 13 07:55:13 MET DST 1997