Sobes.tech
Junior

Программалоодо инкапсуляциянын мааниси эмнеде?

sobes.tech AI

AIден жооп

Программалооодо капсулациянын мааниси — маалыматтарды жана алар менен иштөө методдорун бириктирип, алардын ички иштешин тышкы дүйнөдөн жашыруу. Бул маалыматтарга кирүүнү көзөмөлдөөгө, аларды туура эмес өзгөртүүдөн коргоого жана кодду оңой тейлөө үчүн жардам берет, аны көбүрөөк модулдуу жана ийкемдүү кылат.

Капсулациянын негизги артыкчылыктары:

  • Маалыматтарды жашыруу: Объекттин ички абалы белгилүү методдор (геттер жана сеттерлер) аркылуу гана жеткиликтүү.
  • Кирүүгө көзөмөл: Маалыматты өзгөртүүндө текшерүү логикасын колдонууга болот.
  • Туташтыкты азайтуу: Бир объекттин ички иштешиндеги өзгөртүүлөр башка объекттерди өзгөртүүнү талап кылбайт, эгерде интерфейс өзгөрбөсө.
  • Түзөтүүнү жакшыртуу: Код түшүнүктүү жана оңой өзгөртүлөт.

JavaScript мисалы:

class User {
  constructor(name, age) {
    this._name = name; // Жеке мүнөздөмө (конвенция, JSде милдеттүү эмес, жеке талааларга чейин)
    this._age = age;
  }

  getName() { // Атын алуу үчүн геттер
    return this._name;
  }

  getAge() { // Жашын алуу үчүн геттер
    return this._age;
  }

  setAge(newAge) { // Жаш үчүн сеттер жана текшерүү
    if (newAge > 0) {
      this._age = newAge;
    } else {
      console.error("Жаш нөлдөн чоң болушу керек.");
    }
  }
}

const user = new User("Ivan", 30);
console.log(user.getName()); // Геттер аркылуу кирүү: Ivan
user.setAge(31); // Текшерүү менен өзгөртүү
console.log(user.getAge()); // Геттер аркылуу кирүү: 31
user.setAge(-5); // Катуу туура эмес өзгөртүүгө аракет кылганда каттоо