Odam odam= new Odam(); Odam odam= new Odam(); Console.WriteLine(odam.Yoshi); // 1 // xossa qiymatini o’zgartiramiz odam.Yoshi = 37; Console.WriteLine(odam.Yoshi); // 37 // Mumkin bo’lmagan qiymat berib ko’ramiz Console.WriteLine(odam.Yoshi); // 37 – yosh o’zgarmagan class Odam { int yoshi = 1; { set { if (value < 1 || value > 120) Console.WriteLine("Yosh 1 va 120 oraliqda kiritilishi kerak"); else yoshi = value; } } } Indeksatorlar Indeksatorlar ob'ektlarni indekslash va ma'lumotlarga indeks bo'yicha kirish imkonini beradi. Darhaqiqat, indekserlar yordamida biz ob'ektlar bilan massivlar kabi ishlay olamiz. Ular shakl jihatidan xossalarga o'xshash bo'lib, ularda qiymatni qaytaradigan va tayinlaydigan standart get va set bloklari mavjud bo’ladi. Indekslovchining rasmiy ta'rifi: Qaytariluvchi_tip this [tip parametr1, ...] { get { ... } set { ... } } Xossalardan farqli o'laroq, indekserning nomi yo'q. Buning o'rniga this kalit so'zi, keyin kvadrat qavslar ichida parametrlar ko'rsatiladi. Indekslovchi kamida bitta parametrga ega bo'lishi kerak. Keling, bir misolni ko'rib chiqaylik. Aytaylik, bizda shaxsni ifodalovchi Odam sinfi va odamlar ishlaydigan kompaniyani ifodalovchi Kompaniya sinfi bor. Kompaniya sinfini aniqlash uchun indekserlardan foydalanamiz: Xossalardan farqli o'laroq, indekserning nomi yo'q. Buning o'rniga this kalit so'zi, keyin kvadrat qavslar ichida parametrlar ko'rsatiladi. Indekslovchi kamida bitta parametrga ega bo'lishi kerak. Keling, bir misolni ko'rib chiqaylik. Aytaylik, bizda shaxsni ifodalovchi Odam sinfi va odamlar ishlaydigan kompaniyani ifodalovchi Kompaniya sinfi bor. Kompaniya sinfini aniqlash uchun indekserlardan foydalanamiz:
Do'stlaringiz bilan baham: |