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.