AD

I metodi privati delle classi in JavaScript

I metodi privati sono funzioni definite all'interno di una classe che non sono accessibili direttamente al di fuori di essa. Sono nascosti all'esterno della classe e possono essere invocati solo da altri metodi all'interno della stessa classe. Questo concetto è importante perché consente di nascondere dettagli di implementazione e comportamenti specifici alla classe.

Come dichiarare metodi privati

Per dichiarare metodi privati in JavaScript, usiamo il prefisso "#" prima del nome del metodo. Ad esempio:

class ContoBancario {   #saldo;   constructor(saldoIniziale) {     this.#saldo = saldoIniziale;   }   #aggiungiInteresse(tasso) {     this.#saldo += this.#saldo * tasso;   }   deposita(somma) {     this.#saldo += somma;     this.#aggiungiInteresse(0.02); // Esempio di chiamata di un metodo privato.   }   visualizzaSaldo() {     return `Il saldo attuale è: $${this.#saldo}`;   } }

Nell'esempio sopra, abbiamo dichiarato un campo privato #saldo e due metodi privati: #aggiungiInteresse e #saldo. Questi metodi privati possono essere chiamati solo all'interno della classe ContoBancario.

Accedere ai metodi privati di una classe

Poiché i metodi privati non possono essere invocati direttamente dall'esterno della classe, vengono utilizzati all'interno di metodi pubblici o di altri metodi privati della stessa classe. Questo fornisce un maggiore controllo sull'interazione con i dati interni della classe e contribuisce a prevenire errori e comportamenti indesiderati.

var conto = new ContoBancario(100); conto.deposita(100); console.log(conto.visualizzaSaldo());

In questo modo possiamo accedere al metodo privato aggiungiInteresse passando per il metodo deposita.

Vantaggi dei metodi privati

L'uso dei metodi privati offre vari vantaggi:

  • Incapsulamento: nascondere dettagli di implementazione complessi alla classe, consentendo all'esterno di interagire solo con un'interfaccia ben definita.

  • Riduzione dei bug: poiché i metodi privati sono accessibili solo internamente, si riduce la probabilità di errori dovuti a chiamate accidentali da parte del codice esterno.

  • Manutenibilità: facilita la manutenzione del codice in quanto le modifiche interne alla classe non richiedono la riscrittura del codice esterno che utilizza la classe.

  • Sicurezza: nascondere operazioni sensibili o critiche dalla manipolazione non autorizzata all'esterno della classe.