Sobes.tech
Junior

Программалоодо инкапсуляциянын маанисин кандай түшүнөсүз?

sobes.tech AI

AIден жооп

Капсулация — бул механизм, ал аркылуу объекттин ички ишке ашыруусун жашырып, анын маалыматтарына жана жүрүм-турумуна гана белгиленген интерфейс аркылуу кирүүгө болот.

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

  • Маалыматтарды жашыруу: Объекттин ички абалына түз кирүү чектелген. Маалыматтар гана объекттин методдору аркылуу жеткиликтүү.
  • Интерфейсти камсыздоо: Объект менен өз ара аракеттенүү анын ички түзүмүн билбестен колдонулушу үчүн коомдук методдордун топтому аркылуу жүргүзүлөт.

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

  • Модулдуулук: Жеке бөлүктөр системанын көз карандысыз болуп, өз алдынча иштелип чыгышы, тестирлөө жана өзгөртүлүшү мүмкүн.
  • Ийкемдүүлүк: Объекттин ички ишке ашырылышы өзгөртүлүшү мүмкүн, ал эми интерфейс сакталса, кодго таасир этпейт.
  • Маалыматтардын коопсуздугу: Четинен объекттин абалын туура эмес өзгөртүүнүн алдын алат.
  • Кодду жөнөкөйлөтүү: Ишке ашыруунун татаалдыгын жашырып, капсулация кодду түшүнүктүү жана оңой тейлөөчү кылат.

JavaScriptте капсулациянын мисалы:

class Counter {
  #count; // Жеке талаа, класс ичинде гана жеткиликтүү

  constructor(initialCount = 0) {
    this.#count = initialCount;
  }

  // Жалпы метод санагычты көбөйтүү үчүн
  increment() {
    this.#count++;
    console.log('Учурдагы санагыч:', this.#count);
  }

  // Жалпы метод учурдагы маанини алуу үчүн
  getCount() {
    return this.#count;
  }
}

const myCounter = new Counter(5);
myCounter.increment(); // Чыгуу: Учурдагы санагыч: 6
console.log(myCounter.getCount()); // Чыгуу: 6

// Жеке талаага түз кирүүгө аракет катага алып келет
// console.log(myCounter.#count);