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