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.