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.