Sobes.tech
Junior — Middle

Կարող եք բացատրել օբյեկտային ծրագրավորման մեջ ինկապսուլյացիայի կոնցեպցիան?

sobes.tech AI

Պատասխան AI-ից

Կապսուլյացիան օբյեկտ-կենտրոնացված ծրագրավորման սկզբունք է, որը բաղկացած է տվյալների (գծանշումների) և մեթոդների միավորումից, որոնք աշխատում են այդ տվյալների հետ՝ մեկ օբյեկտի կամ դասի ներսում։ Այն թույլ է տալիս թաքցնել օբյեկտի ներքին վիճակը և տրամադրել միայն որոշ մեթոդների (getter-ների և setter-ների) միջոցով մուտք, ինչը պաշտպանում է տվյալները ուղղակի փոփոխությունից արտաքինից։

Օրինակ, JavaScript-ում կարելի է ստեղծել մասնավոր հատկություն սիմվոլի միջոցով կամ օգտագործել ստորակետով նշված համաձայնություն:

class User {
  #password; // մասնավոր դաշտ

  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); // Խախտում, մուտքը արգելված
console.log(user.checkPassword('12345')); // true

Այսպիսով, կապսուլյացիան օգնում է վերահսկել մուտքը տվյալների, բարձրացնում անվտանգության մակարդակը և հեշտացնում կոդի սպասարկումը։