Sobes.tech
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.