Private Eigenschaften in OOP in JavaScript
Objekteigenschaften, die von außen gelesen und geschrieben werden können, werden als öffentliche Eigenschaften bezeichnet. Es gibt auch private Eigenschaften, die nur innerhalb der Klasse zugänglich sind.
Die Namen privater Eigenschaften müssen
mit dem Symbol # beginnen.
Darüber hinaus müssen solche Eigenschaften unbedingt
am Anfang des Klassen-Codes deklariert werden.
Lassen Sie uns das tun:
class User {
#name;
}
Schreiben wir nun Daten in unsere Eigenschaft. Dies kann beispielsweise im Konstruktor der Klasse erfolgen:
class User {
#name;
constructor(name) {
this.#name = name;
}
}
Erstellen wir nun eine Methode, die den Wert unserer Eigenschaft zurückgibt:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Erstellen wir ein Objekt der Klasse, indem wir den Namen des Benutzers als Parameter übergeben:
let user = new User('john');
Der Versuch, direkt von außerhalb der Klasse auf unsere Eigenschaft zuzugreifen, führt zu einem Fehler:
console.log(user.#name); // Fehler
Der Aufruf unserer Methode ermöglicht es, diese Eigenschaft zu lesen:
console.log(user.show()); // gibt 'john' aus
Erstellen Sie in der Klasse Employee
drei private Eigenschaften: Name, Gehalt
und Alter.
Übergeben Sie die Werte dieser Eigenschaften als Parameter an den Konstruktor.
Erstellen Sie eine Methode, die die Daten des Mitarbeiters ausgibt.