Menu
Coddy logo textTech

Metodi privati

Fa parte della sezione Programmazione orientata agli oggetti del percorso JavaScript di Coddy. Lezione 19 di 56.

I metodi privati nelle classi JavaScript ti permettono di nascondere i dettagli di implementazione e impedire l’accesso esterno alle funzionalità interne.

A partire da ES2022, i metodi privati possono essere definiti usando il prefisso #:

class Counter {
  #count = 0;
  
  // Crea un metodo privato
  #increment() {
    this.#count++;
  }
  
  // Metodo pubblico che utilizza il metodo privato
  addOne() {
    this.#increment();
    return this.#count;
  }
}

Creiamo un'istanza di Counter:

const myCounter = new Counter();

Possiamo chiamare il metodo pubblico:

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

Ma provare ad accedere direttamente al metodo privato causerà un errore:

myCounter.#increment(); // Errore: il metodo privato non è accessibile all'esterno della classe

I metodi privati aiutano a mantenere l'incapsulamento tenendo nascosti al mondo esterno i dettagli interni dell'implementazione.

challenge icon

Sfida

Ti viene fornita una classe MessageBox che memorizza messaggi. Il tuo compito è aggiungere un metodo privato chiamato #isValidMessage(text) che convalida i messaggi. Dovrebbe:

  • Restituire true se il testo non è vuoto e contiene meno di 100 caratteri
  • Restituire false altrimenti

Provalo tu

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

// Utilizzo della finestra di messaggio
const box = new MessageBox();

console.log(box.setMessage("Hello"));    // "Message set!" (usa #isValidMessage)
console.log(box.setMessage(""));         // "Invalid message!" (usa #isValidMessage)
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore JavaScript online