⊗jsOpIhPrM 34 of 60 menu

Private Methoden bei Vererbung in OOP in JavaScript

Private Methoden werden nicht vererbt. Dies ist absichtlich so gestaltet, um den Datenkapselung nicht zu verletzen. Schauen wir uns ein Beispiel an. Nehmen wir an, wir haben die folgende Elternklasse mit einer privaten Methode:

class User { setName(name) { this.name = name; } getName() { return this.#capeFirst(this.name); } #capeFirst(str) { return str[0].toUpperCase() + str.slice(1); } }

Nehmen wir an, von der Elternklasse erbt die folgende Klasse:

class Student extends User { setSurn(surn) { this.surn = surn; } getSurn() { return this.surn; } }

Nehmen wir an, die Kindklasse möchte die private Methode der Elternklasse verwenden. JavaScript erlaubt dies nicht und gibt einen Fehler aus:

class Student extends User { setSurn(surn) { this.surn = surn; } getSurn() { return this.#capeFirst(this.surn); // wird ein Fehler sein } }

Versuchen Sie in der Klasse Employee die private Methode der Elternklasse zu verwenden.

svplnlfrru