Der Code
//###########################################
// vom Prinzip sollte so eine KLasse aussehen
// statt function Rechteck
// wäre class Rechteck üblich.
// versteht nicht jeder Browser daher:
// die class Rechteck
function Rechteck() {
"use strict";
// alle Variablen
var breite = 0;
var hoehe = 0;
// Methoden um Variablen-Wert zu setzen
this.setBreite = function(p) {
breite = p;
}
this.setHoehe = function(p) {
hoehe = p;
}
// Methoden um Variablen-Wert zu lesen
this.getBreite = function() {
return breite;
}
this.getHoehe = function() {
return hoehe;
}
// Methoden
this.flaeche = function() {
return breite * hoehe;
}
}
// Ende der class Rechteck
//###########################################
// ein Code mit Verwendung der Klasse
// Objekt aus der KLasse erzeugen
var kueche = new Rechteck();
var zimmer = new Rechteck();
// die Werte der Eigenschaften setzen
kueche.setBreite(2);
kueche.setHoehe(5);
zimmer.setBreite(6);
zimmer.setHoehe(8);
// und los gehts:
document.write("Die Auswirkung von set- und get-Methoden und mit var statt mit this definierten Variablen in einer Klasse:");
document.write("<br>");
document.write("<br>");
document.write("1: Eine Küche 2 X 5 und ein Zimmer 6 X 8 erzeugt");
document.write("<br>");
document.write("2: küche.flaeche(): " + kueche.flaeche());
document.write("<br>");
document.write("3: zimmer.flaeche(): " + zimmer.flaeche());
document.write("<br>");
document.write("4: zimmer.breite = " + zimmer.breite);
document.write("<br><br>");
zimmer.breite = 2;
document.write("5: zimmer.breite = 2 gesetzt; Ergebnis: " + zimmer.breite);
document.write("<br>");
document.write("6: Achtung zimmer.breite = 2 und zimmer.getBreite() = " + zimmer.getBreite());
document.write("<br>");
document.write("7: die nachträgliche Wertzuweisung über zimmer.breite beeinflußt zimmer.flaeche() nicht: zimmer.flaeche() = " + zimmer.flaeche());
document.write("<br>");
zimmer.setBreite(3);
document.write("<br><br>");
document.write("8: zimmer.setBreite(3)");
document.write("<br>");
document.write("9: zimmer.getBreite() = ; Ergebnis: " + zimmer.getBreite());
document.write("<br>");
document.write("10: zimmer.breite = ; Ergebnis: " + zimmer.breite);
document.write("<br>");
document.write("11: zimmer.flaeche(); set-Methode hat verändert: " + zimmer.flaeche());
delete zimmer.breite;
document.write("<br><br>");
document.write("12: gelöscht mit delete zimmer.breite = ; Ergebnis: " + zimmer.breite);
document.write("<br>");
document.write("13: zimmer.getBreite(); Ergebnis: " + zimmer.getBreite());