Junior — Middle
Môžete vysvetliť koncept zapuzdrenia v objektovo orientovanom programovaní?
sobes.tech AI
Odpoveď od AI
Zapúzdrenie je princíp objektovo orientovaného programovania, ktorý spočíva v spojení dát (vlastností) a metód, ktoré s týmito dátami pracujú, vnútri jedného objektu alebo triedy. Umožňuje skryť vnútorný stav objektu a poskytnúť k nemu prístup iba prostredníctvom určitých metód (getterov a setterov), čo chráni dáta pred priamej zmenou zvonku.
Napríklad v JavaScripte je možné vytvoriť súkromnú vlastnosť pomocou symbolu alebo dodržiavaním konvencie s podčiarknutím:
class User {
#password; // súkromné 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, prístup zakázaný
console.log(user.checkPassword('12345')); // true
Týmto spôsobom pomáha zapuzdrenie riadiť prístup k dátam, zvyšuje bezpečnosť a uľahčuje údržbu kódu.