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.