Sobes.tech
Junior — Middle

შეგიძლიათ ახსნათ ინკაპსულაციის კონცეფცია ობიექტზე ორიენტირებულ პროგრამირებაში?

sobes.tech AI

პასუხი AI-სგან

კაპსულაცია ობიექტზე ორიენტირებული პროგრამირების ერთ-ერთი პრინციპია, რომელიც გულისხმობს მონაცემების (მოძებნულობების) და მათთან მუშაობის მეთოდების გაერთიანებას ერთ ობიექტში ან კლასში. ეს საშუალებას აძლევს დამალოს ობიექტის შიდა მდგომარეობა და მისთვის წვდომა მხოლოდ გარკვეული მეთოდების (გეტერებისა და სეტერების) მეშვეობით, რაც იცავს მონაცემებს პირდაპირი ცვლილებისგან გარედან.

მაგალითად, 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

ამ გზით, კაპსულაცია ეხმარება მონაცემების წვდომის კონტროლში, ზრდის უსაფრთხოებას და ამარტივებს კოდის შენარჩუნებას.