Sobes.tech
Junior — Middle

Vai jūs varat izskaidrot inkapsulācijas jēdzienu objektorientētajā programmēšanā?

sobes.tech AI

Atbilde no AI

Iekapsulācija ir objektorientētas programmēšanas princips, kas ietver datu (īpašību) un ar tiem strādājošo metožu apvienošanu vienā objektā vai klasē. Tā ļauj slēpt objekta iekšējo stāvokli un piekļuvi tam nodrošināt tikai caur noteiktiem metodēm (gēturiem un seturiem), kas aizsargā datus no tiešas izmaiņas no ārpuses.

Piemēram, JavaScript var izveidot privātu īpašību, izmantojot simbolu vai ievērojot konvenciju ar apakšsvītru:

class User {
  #password; // privāta lauka

  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); // Kļūda, piekļuve aizliegta
console.log(user.checkPassword('12345')); // true

Tādējādi, iekapsulācija palīdz kontrolēt piekļuvi datiem, palielina drošību un atvieglo koda uzturēšanu.