Junior — Middle
Czy możesz wyjaśnić koncepcję enkapsulacji w programowaniu obiektowym?
sobes.tech AI
Odpowiedź od AI
Enkapsulacja to zasada programowania obiektowego, która polega na łączeniu danych (właściwości) i metod, które operują na tych danych, wewnątrz jednego obiektu lub klasy. Pozwala ukryć wewnętrzny stan obiektu i zapewnić dostęp do niego tylko przez określone metody (gettery i settery), co chroni dane przed bezpośrednią zmianą z zewnątrz.
Na przykład w JavaScript można utworzyć prywatną właściwość za pomocą symbolu lub użyć konwencji z podkreśleniem:
class User {
#password; // prywatne pole
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); // Błąd, dostęp zabroniony
console.log(user.checkPassword('12345')); // true
W ten sposób enkapsulacja pomaga kontrolować dostęp do danych, zwiększa bezpieczeństwo i upraszcza utrzymanie kodu.