2. 2§. Indeksatorning turi va uning parametrlari turlari haqida


Download 0.67 Mb.
bet11/18
Sana03.02.2023
Hajmi0.67 Mb.
#1151810
1   ...   7   8   9   10   11   12   13   14   ...   18
Bog'liq
19.08 A Tojiyeva Saboxon Dasturlash kurs ishi

d1.Name = "John";


b1.Name = "Mary";
d1.Name = "John";


b1.Id = "Mary123";
d1.Id = "John123"; // The BaseClass.Id property is called.


System.Console.WriteLine("Base: {0}, {1}", b1.Name, b1.Id);
System.Console.WriteLine("Derived: {0}, {1}", d1.Name, d1.Id);


// Keep the console window open in debug mode.
System.Console.WriteLine("Press any key to exit.");
System.Console.ReadKey();
}
}
/* Output:
Base: Name-BaseClass, ID-BaseClass
Derived: John, ID-BaseClass
*/
E'tibor bering, deklaratsiyani new private string Idbilan almashtirish new public string Idquyidagi natijalarni beradi:
Name and ID in the base class: Name-BaseClass, ID-BaseClass
Name and ID in the derived class: John, John123













II.BOB.Bir o'lchovli va ko'p o'lchovli indeksatorlar. Asosiy massivsiz indeksatorlar. Indeksatorlarni ortiqcha yuklash.



2.1§.Indeksatorlardan foydalanish.

Indeksatorlardan foydalanish sintaksis bilan ishlashni osonlashtiradi, bu sizga mijoz dasturlari massiv singari kirishlari mumkin bo'lgan sinflar , tuzilmalar va interfeyslarni yaratishga imkon beradi . Bunday holda, kompilyator xossani (yoki IndexerNameAttribute mavjud bo'lsa, boshqa nomga ega bo'lgan xususiyatni ) va tegishli kiruvchilarni yaratadi . Indeksatorlar ko'pincha ichki to'plam yoki massivni kapsulalash uchun mo'ljallangan turlarda amalga oshiriladi. Aytaylik, sizda 24 soat davomida Farengeyt bo'yicha 10 ta harorat o'lchovlari jurnalini aks ettiruvchi sinf mavjud. Bu sinf bir qator o'z ichiga turi harorat qadriyatlarini saqlash uchun. Item TempRecord tempsfloat[] Bu sinfda Indexer amalga oshirish mijozlari Masalan harorat qadriyatlarini kirish imkonini beradi TempRecordfoydalanish float temp = tempRecord[4]o'rniga float temp = tempRecord.temps[4]. Bu nafaqat mijoz dasturlari sintaksisini soddalashtirishga, balki boshqa ishlab chiquvchilarga sinf kodini va uning maqsadini tushunishni osonlashtirishga imkon beradi.


Sinf yoki tuzilma uchun indeksatorni e'lon qilish uchun quyidagi misolda bo'lgani kabi ushbu kalit so'zdan foydalaning :
C #Nusxalash
// Indexer declaration
public int this[int index]
{
// get and set accessors
}
Ob'ekt uchun indeksatorni e'lon qilganingizda avtomatik ravishda nomlangan xususiyat yaratiladi Item. Mulkga to'g'ridan-to'g'ri misol a'zosi kirish ifodasidan foydalanish mumkin bo'lmaydi . Bundan tashqari, kompilyator xatolik CS0102 qiladi tashlanadi siz uchun o'z mol kiritish bo'lsa indeks ob'ekti . Bunga yo'l qo'ymaslik uchun IndexerNameAttribute- dan foydalanib, indeksatorning nomini quyida aytib o'tilganidek o'zgartiring. Item Item

Download 0.67 Mb.

Do'stlaringiz bilan baham:
1   ...   7   8   9   10   11   12   13   14   ...   18




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling