Menu
Coddy logo textTech

Private Methoden

Teil des Abschnitts Objektorientierte Programmierung der JavaScript-Journey von Coddy. Lektion 19 von 56.

Private Methoden in JavaScript-Klassen ermöglichen es dir, Implementierungsdetails zu verbergen und den externen Zugriff auf interne Funktionen zu verhindern.

Ab ES2022 können private Methoden mithilfe des Präfixes # definiert werden:

class Counter {
  #count = 0;
  
  // Erstelle eine private Methode
  #increment() {
    this.#count++;
  }
  
  // Öffentliche Methode, die die private Methode verwendet
  addOne() {
    this.#increment();
    return this.#count;
  }
}

Erstellen wir eine Counter-Instanz:

const myCounter = new Counter();

Wir können die öffentliche Methode aufrufen:

console.log(myCounter.addOne()); // Ausgabe: 1

Der Versuch, direkt auf die private Methode zuzugreifen, führt jedoch zu einem Fehler:

myCounter.#increment(); // Fehler: Private Methode ist außerhalb der Klasse nicht zugänglich

Private Methoden helfen dabei, die Kapselung aufrechtzuerhalten, indem sie interne Implementierungsdetails vor der Außenwelt verborgen halten.

challenge icon

Aufgabe

Dir wird eine MessageBox-Klasse gegeben, die Nachrichten speichert. Deine Aufgabe ist es, eine private Methode namens #isValidMessage(text) hinzuzufügen, die Nachrichten validiert. Sie sollte:

  • true zurückgeben, wenn der Text nicht leer ist und weniger als 100 Zeichen enthält
  • false zurückgeben, andernfalls

Probier es selbst

import { MessageBox } from './messageBox.js';

// Verwenden der Message-Box
const box = new MessageBox();

console.log(box.setMessage("Hello"));    // "Message set!" (uses #isValidMessage)
console.log(box.setMessage(""));         // "Invalid message!" (uses #isValidMessage)
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Objektorientierte Programmierung

Übe selbstständig: Online-JavaScript-Compiler