Datenkapselung
Datenkapselung bedeutet, dass ein Objekt seine Attribute nach außen hin versteckt (information hiding) und sie so vor ungeregeltem Zugriff schützt. Es hat das alleinige Recht, auf seine Daten zuzugreifen und sie zu lesen oder zu ändern. Möchten andere Objekte Zugriff auf die Daten erhalten, müssen sie dies über definierte Schnittstellen tun.
In JavaScript kann auf Variablen, die im Konstruktor nicht mit dem Schlüsselwort this gekennzeichnet wurden, nicht von außen zugegriffen werden.
Methoden, die in der Konstruktorfunktion der Klasse liegen, haben die Möglichkeit, auf die privaten Variablen im Konstruktor zuzugreifen. Man nennt sie deshalb auch priviligierte Methoden. Methoden, die über ClassName.prototype.method definiert werden, können das nicht.
Aufgaben
Bei der Klasse Buch sollen die Attribute autor und seitenanzahl gekapselt werden. Der Zugriff soll über die Methoden getAutor und getSeitenanzahl möglich sein.
Durch Datenkapselung kann erreicht werden, dass zwei Eigenschaften nur zusammen geändert werden dürfen. Wenn die elektrische Kraft in einem Radialfeld gleich bleiben soll, aber eine der beiden Ladungen geändert wird, muss entweder der Abstand der Ladungen zueinander oder der Betrag der zweiten Ladung auch geändert werden (siehe Coulombsches Gesetz).