Sobes.tech
Junior — Middle

Můžete vysvětlit koncept zapouzdření v objektově orientovaném programování?

sobes.tech AI

Odpověď od AI

Zapouzdření je princip objektově orientovaného programování, který spočívá v spojení dat (vlastností) a metod, které s těmito daty pracují, uvnitř jednoho objektu nebo třídy. Umožňuje skrýt vnitřní stav objektu a zpřístupnit jej pouze prostřednictvím určitých metod (getterů a setterů), což chrání data před přímou změnou zvenčí.

Například v JavaScriptu lze vytvořit soukromou vlastnost pomocí symbolu nebo dodržováním konvence s podtržítkem:

class User {
  #password; // soukromé 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); // Chyba, přístup zakázán
console.log(user.checkPassword('12345')); // true

Tímto způsobem pomáhá zapouzdření řídit přístup k datům, zvyšuje bezpečnost a usnadňuje údržbu kódu.