Sobes.tech
Junior — Middle

Puoi spiegare il concetto di incapsulamento nella programmazione orientata agli oggetti?

sobes.tech AI

Risposta dell'AI

L'incapsulamento è un principio della programmazione orientata agli oggetti che consiste nell'unire dati (proprietà) e metodi che lavorano con questi dati all'interno di un singolo oggetto o classe. Permette di nascondere lo stato interno dell'oggetto e di fornire l'accesso ad esso solo tramite metodi specifici (getters e setters), proteggendo così i dati da modifiche dirette dall'esterno.

Ad esempio, in JavaScript si può creare una proprietà privata usando un simbolo o seguendo una convenzione con underscore:

class User {
  #password; // campo privato

  constructor(name, password) {
    this.name = name;
    this.#password = password;
  }

  checkPassword(input) {
    return input === this.#password;
  }
}

const user = new User('Alice', '12345');
console.log(user.name); // Alice
console.log(user.#password); // Errore, accesso negato
console.log(user.checkPassword('12345')); // true

In questo modo, l'incapsulamento aiuta a controllare l'accesso ai dati, aumenta la sicurezza e semplifica la manutenzione del codice.