Sobes.tech
Junior

Dasturlashda inkapsulyatsiya ma'nosini qanday tushunasiz?

sobes.tech AI

AIdan javob

Kapsülləşmə, obyektin daxili tətbiqini gizlətməyə və onun məlumatlarına və davranışlarına yalnız müəyyən edilmiş interfeys vasitəsilə giriş təmin etməyə imkan verən mexanizmdir.

Kapsülləşmənin əsas prinsipləri:

  • Məlumatların gizlədilməsi: Obeyektin daxili vəziyyətinə birbaşa giriş məhdudlaşdırılır. Məlumatlar yalnız obyektin metodları vasitəsilə əldə edilə bilər.
  • İnterfeys təminatı: Obeyektlə qarşılıqlı əlaqə, onun daxili strukturunu bilmədən istifadə edə biləcəyiniz ictimai metodlar toplusu vasitəsilə həyata keçirilir.

Kapsülləşmənin üstünlükləri:

  • Modulyarlıq: Sistem hissələri müstəqil olur və ayrı-ayrılıqda inkişaf etdirilə, sınaqdan keçirilə və dəyişdirilə bilər.
  • Esneklik: Obeyektin daxili tətbiqi, interfeys qorunmaq şərti ilə dəyişdirilə bilər.
  • Məlumatların təhlükəsizliyi: Xaricdən obyektin vəziyyətinin düzgün olmayan dəyişdirilməsinin qarşısını alır.
  • Kodun sadələşdirilməsi: Tətbiqin mürəkkəbliyini gizlədərək, kapsülləşmə kodu daha anlaşılan və asan baxıla bilən edir.

JavaScript-də kapsülləşmənin nümunəsi:

class Counter {
  #count; // Xüsusi sahə, yalnız sinif daxilində əlçatandır

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

  // Ümumi metod sayğacı artırmaq üçün
  increment() {
    this.#count++;
    console.log('Cari sayğac:', this.#count);
  }

  // Ümumi metod cari sayğac dəyərini almaq üçün
  getCount() {
    return this.#count;
  }
}

const myCounter = new Counter(5);
myCounter.increment(); // Çıxış: Cari sayğac: 6
console.log(myCounter.getCount()); // Çıxış: 6

// Xüsusi sahəyə birbaşa giriş cəhdi səhv olacaq
// console.log(myCounter.#count);