Sobes.tech
Junior — Middle

El tudná magyarázni az inkapszuláció fogalmát az objektumorientált programozásban?

sobes.tech MI

Válasz az MI-től

Az inkapszuláció az objektumorientált programozás egyik alapelve, amely magában foglalja az adatok (tulajdonságok) és azokkal dolgozó módszerek együttes kezelését egy objektum vagy osztály belsejében. Lehetővé teszi az objektum belső állapotának elrejtését, és csak bizonyos módszerek (getterek és setterek) segítségével való hozzáférést, így védi az adatokat a külső közvetlen módosításától.

Például JavaScript-ben privát tulajdonságot hozhatunk létre szimbólum vagy aláhúzás konvenció használatával:

class User {
  #password; // privát mező

  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); // Hiba, hozzáférés megtagadva
console.log(user.checkPassword('12345')); // true

Így az inkapszuláció segít ellenőrizni az adatokhoz való hozzáférést, növeli a biztonságot és megkönnyíti a kód karbantartását.