Java Reference
In-Depth Information
this.constructor(name, vorname); an die constructor -Eigenschat der „Superklasse“
weitergereicht und das ist der eine entscheidende Part zum Aufbau einer Superklasse-Sub-
klassen-Verbindung. Dieser Schritt muss aber zwingend mit der Kopplung der prototype -
Eigenschat der Subklasse an ein Objekt der Superklasse verbunden werden, sonst läut das
System in eine endlose rekursive (und erfolglose) Suche nach den „vererbten“ Eigenschaf-
ten ( Mitarbeiter.prototype = new Person(); ).
Nachfolgend erzeugen wir dann ein Objekt vom Typ Mitarbeiter und fragen die vorhande-
nen Eigenschaten ab - sowohl die vererbten als auch die in Mitarbeiter neu hinzugefüg-
ten Eigenschaten. Die Methode hasOwnProperty() erlaubt dabei eine Überprüfung, ob ein
Objekt über eine bestimmte Eigenschat verfügt oder nicht.
Die Umsetzung einer Vererbung in JavaScript ist ofensichtlich möglich, aber sowohl wenig
robust als auch etwas undurchsichtig. Zudem können Sie nicht alle Möglichkeiten der Ver-
erbung so simulieren (etwa gibt es keine abstrakten oder inalen Klassen). Aus diesem
Grund nenne ich es auch nur eine „Simulation“ einer echten Vererbung.
Sie können auch durchaus den Nutzen eines solchen recht fragilen Konstrukts hinterfragen
und argumentieren, dass man in der „Subklasse“ selbst die vererbten Eigenschaten der
„Superklasse“ leicht hätte neu anlegen können. Aber je komplexer die vererbten Eigen-
schaten und vor allen Dingen Methoden werden, desto mehr Nutzen zieht man daraus.
Bild 13.9■ Vererbte und eigene Eigenschaten
13.5■Datenkapselung
Bei der echten objektorientierten Programmierung ist ganz wesentlich, dass ein Objekt
seine innere Struktur vollständig vor anderen Objekten oder überhaupt einem direkten
Zugrif von außen verstecken kann. Man nennt dies Information Hiding oder Datenkapse-
lung . Um das zu gewährleisten, stellen echte objektorientierte Sprachen sogenannte
Zugrifsmodiizierer bzw. Zugrifsmodiier zu einer sehr feingliedrigen Steuerung des
Zugrifs auf die Objektinterna zur Verfügung. Das betrit etwa die Zugänglichkeit über die
Schlüsselwörter private , protected oder public , wenn man an Java oder C# denkt. Diese
gibt es durch die Nähe zu Java in JavaScript zwar auch als reservierte Schlüsselwörter, aber
Search WWH ::




Custom Search