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
Այսպիսով, կապսուլյացիան օգնում է վերահսկել մուտքը տվյալների, բարձրացնում անվտանգության մակարդակը և հեշտացնում կոդի սպասարկումը։