Sobes.tech
Junior

Nima encapsulation?

sobes.tech AI

AIdan javob

Kapsüllash, ob'ektning ichki holatini yashirish va tashqi aralashuvdan himoya qilish imkonini beradigan mexanizmdir. Bu ma'lumotlar (maydonlar) va ular bilan ishlovchi metodlarni yagona blokda — sinfda birlashtiradi.

C# tilida kapsüllash kirish modifikatorlari (public, private, protected, internal, protected internal, private protected) va xususiyatlar (Properties) yordamida amalga oshiriladi.

Xususiyatlardan foydalanish misoli:

public class Shaxs
{
    private int _yosh; // Maxfiy maydon

    public int Yoshi // Maxsus kirish imkonini beradigan umumiy xususiyat
    {
        get { return _yosh; }
        set
        {
            if (value >= 0) // Ma'lumotlarni tekshirish
            {
                _yosh = value;
            }
            else
            {
                // Xato chiqarish yoki boshqa amal bajarish mumkin
                Console.WriteLine("Yosh manfiy bo'lishi mumkin emas.");
            }
        }
    }

    public string Ismi { get; set; } // Avtomatik xususiyat

    public void Ma'lumotniKorsat()
    {
        Console.WriteLine($"Ism: {Ismi}, Yoshi: {Yoshi}");
    }
}

Kapsüllashning afzalliklari:

  • Amalni yashirish: Ob'ektning ichki tafsilotlari tashqi koddan yashirilgan.
  • Kirish nazorati: Ma'lumotlarga kirish metodlar yoki xususiyatlar orqali amalga oshiriladi, bu esa validatsiya va biznes mantiqini ta'minlaydi.
  • Moslashuvchanlik: Sinfning ichki amalga oshirishdagi o'zgarishlar, uning interfeysidan foydalanayotgan tashqi kodga ta'sir qilmaydi.
  • Qo'llab-quvvatlashni yaxshilash: Kod yanada tuzilgan va tushunarli bo'ladi.