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 Ihnen, Implementierungsdetails zu verbergen und den externen Zugriff auf interne Funktionalitäten zu verhindern.

Ab ES2022 können private Methoden mit dem #-Präfix 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

Aber der Versuch, direkt auf die private Methode zuzugreifen, wird einen Fehler verursachen:

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 hat
  • Andernfalls false zurückgeben

Probier es selbst

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

// Verwendung der Nachrichtenbox
const box = new MessageBox();

console.log(box.setMessage("Hello"));    // "Message set!" (verwendet #isValidMessage)
console.log(box.setMessage(""));         // "Invalid message!" (verwendet #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