Sobes.tech
Junior

Proqramlaşdırmada inkapsulyasiya nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Proqramlaşdırmada kapsülləşmənin mənası məlumatlar və onlarla işləmək üçün metodların birləşdirilməsi və daxili tətbiqin xarici dünyadan gizlənməsidir. Bu, məlumatlara girişin idarə olunmasına, onları düzgün olmayan dəyişikliklərdən qorumağa və kodun saxlanmasını asanlaşdırmağa imkan verir, onu daha modul və çevik edir.

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

  • Məlumatların gizlənməsi: Ob'ektin daxili vəziyyəti yalnız müəyyən metodlar (getter və setterlər) vasitəsilə əldə edilə bilər.
  • Girişin idarə olunması: Məlumatların dəyişdirilməsi zamanı validasiya məntiqi tətbiq oluna bilər.
  • Bağlılığın azaldılması: Bir ob'ektin daxili tətbiqindəki dəyişikliklər, əgər qarşılıqlı əlaqə interfeysi dəyişməzsə, digər ob'ektləri dəyişdirməyə ehtiyac olmadan həyata keçirilə bilər.
  • Dəstək və baxımın yaxşılaşdırılması: Kod daha aydın və dəyişdirilməsi asan olur.

JavaScript nümunəsi:

class User {
  constructor(name, age) {
    this._name = name; // Özəl xüsusiyyət (ənənəvi, JS-də məcburi deyil, özəl sahələrə qədər)
    this._age = age;
  }

  getName() { // ad üçün getter
    return this._name;
  }

  getAge() { // yaş üçün getter
    return this._age;
  }

  setAge(newAge) { // yaş üçün setter və validasiya
    if (newAge > 0) {
      this._age = newAge;
    } else {
      console.error("Yaş sıfırdan böyük olmalıdır.");
    }
  }
}

const user = new User("Ivan", 30);
console.log(user.getName()); // Getter vasitəsilə giriş: Ivan
user.setAge(31); // Validasiya ilə setter vasitəsilə dəyişiklik
console.log(user.getAge()); // Getter vasitəsilə giriş: 31
user.setAge(-5); // Yanlış dəyişiklik cəhdində xəta