Java Reference
In-Depth Information
für sie gibt es keine Implementierung. Oder kurz und brutal - sie werden in JavaScript nicht
unterstützt, wobei auch das mit JavaScript 2.0 eingeführt werden soll (siehe Abschnitt 13.6).
Um jetzt aber bereits eine  - zumindest grobe  - Zugrifsregelung bei JavaScript-Objekten
durchzuführen, muss man in JavaScript wie auch bei der Simulation der Vererbung mehr
oder weniger tricksen. Ein Weg führt über den Einsatz von lokalen Variablen. Denn mit var
speziizierte Variablen in Funktionen sind nur dort zugänglich. Und wenn man dann noch
bei den Funktionsreferenzen zur Implementierung von Methoden anonyme oder innere
Funktionen (Closures) verwendet, bekommt man mehr oder weniger eine echte Zugrifs-
reglementierung hin. Dann können Sie auch über gewisse Konventionen Techniken wie
Getter oder Setter samt Nur-lese-Eigenschaten ( read-only ) sowie Nur-schreibe-Eigenschaf-
ten ( write-only ) auch in JavaScript umsetzen.
HInTErGrunDInFOrMATIOn: Setter-Methoden oder kurz Setter sind
Methoden/Funktionen zum indirekten Schreibzugrif auf Eigenschaten eines
Objekts. Analog sind Getter-Methoden oder kurz Getter Methoden/Funktionen
zum indirekten Lesezugrif auf die Eigenschaten. Sie können damit den Zugrif
auf eine Eigenschat mit einer gewissen Logik versehen und zudem steuern,
ob ein Zugrif nur lesend (kein Setter), nur schreibend (kein Getter) oder beides
sein darf. Diese Steuerung der Art des Zugrifs auf Objekteigenschaten ist in
mächtigen OO-Sprachen sehr populär.
Die Webseite kap13_10.html unterscheidet sich nicht wesentlich von kap13_9.html und soll
hier nicht angegeben werden. Hier ist die interessante externe JavaScript-Datei kap13_10.js:
Listing 13.24■ Die Struktur des Objekts wird verborgen.
//Konstruktormethode
function RJS() {
var name = new Object();
var irmaInternerName = "RJS EDV KnowHow";
var urlInternerName = "";
name.getURL = function() {
return urlInternerName;
};
name.setURL = function(name) {
urlInternerName = name;
};
name.irma = irmaInternerName;
return name;
}
// Objekterstellung und Anwendung
obj = new RJS();
obj.setURL("http://www.rjs.de");
function init() {
document.getElementById("antwort").innerHTML =
"Indirekter Zugriff auf den URL über einen Getter: " + obj.getURL()
+ "<br />Versuch des direkten Zugriffs auf den URL: " +
obj.name + "<br />Zugriff auf die freigegebene Eigenschaft: " +
obj.irma + "<br />Versuch des Zugriffs auf den internen Bezeichner"
+ " der Eigenschaft: " + obj.irmaInternerName;
}
window.onload = init;
 
Search WWH ::




Custom Search