08 Classic OO Concepts
Artikel:
- Private Member-Variablen
- Erzeugt mit
var
im Objekt - Private Methoden
- Definiert im Objekt (inline inside oder über
var
) - Privilegierte Methoden
- Definiert im Objekt als klassische Methode über
this.method = ...
- Public Member-Variablen
- Definiert im Objekt als klassische Eigenschaft über
this.prop = ...
- Public Methoden
- Definiert im Prototyp (aber kein Zugriff auf private Member!)
- Static Member
- Definiert über
Klasse.Member
Beispiel
function GiroKonto() {
// access to static member
this.constructor.maxNr++;
// private member
var nr = this.constructor.maxNr, stand = 0, dispo = 0;
// public member
this.inhaber = 0;
// private method
function checkNonNegative( value ) {
if( value < 0 ) {
console.error("Negative value not allowed.");
throw { name: "ArgumentException", message: "Negative values are not allowed. "};
}
return true;
}
// privilegierte Member
this.getNr = function() { return nr; };
this.getStand = function() { return stand; };
this.getDispo = function() { return dispo; };
this.setDispo = function(value) { checkNonNegative(value); dispo = value; };
this.einzahlen = function (betrag) {
stand += betrag;
}
}
// static member
GiroKonto.maxNr = 0;
// public methods
GiroKonto.prototype.toString = function () {
return 'Konto: ' + this.getNr() + ", Stand: " + this.getStand();
}