O’zgaruvchi va o’zgarmas maydonlar. Xossalar va indeksatorlar


Download 67.89 Kb.
bet7/8
Sana18.03.2023
Hajmi67.89 Kb.
#1280105
1   2   3   4   5   6   7   8
Bog'liq
O’zgaruvchi va o’zgarmas maydonlar

class Odam { public string Nomi; public Odam(string nomi) { Nomi=nomi; } } class Kompaniya { Odam[] shaxs; public Kompaniya(Odam[] odam) { shaxs = odam; } // indeksator public Odam this[int index] { get { return shaxs[index]; } set { shaxs[index] = value; } } }

Kompaniya xodimlarini saqlash uchun Odam ob'ektlaridan iborat sinfda shaxs massivi aniqlanadi. Ushbu ob'ektlarga kirish uchun indeksator belgilangan:

Kompaniya xodimlarini saqlash uchun Odam ob'ektlaridan iborat sinfda shaxs massivi aniqlanadi. Ushbu ob'ektlarga kirish uchun indeksator belgilangan:

public Odam this[int index]

Indeksator printsipial jihatdan standart xossaga o'xshaydi. Bizning misolda indeksator uchun tur sifatida odam turi aniqlangan. Indekslovchi turi indeksator qaysi ob'ektlarni qabul qilishini va qaytarishini aniqlaydi. Indeksator uchun int indeks parametri aniqlanadi, bu orqali biz Kompaniya ob'ekti ichidagi elementlarga murojat qilamiz.

Ob'ektni qaytarish uchun indekserda get bloki aniqlangan:

get { return shaxs[index]; }

Indekslovchi odam turida bo'lganligi sababli, get blokida biz return operatori yordamida shu turdagi ob'ektni qaytarishimiz kerak. Bu erda biz turli xil mantiqni aniqlashimiz mumkin edi. Lekin biz shunchaki shaxs massividan ob'ektni qaytardik.

Indekslovchi odam turida bo'lganligi sababli, get blokida biz return operatori yordamida shu turdagi ob'ektni qaytarishimiz kerak. Bu erda biz turli xil mantiqni aniqlashimiz mumkin edi. Lekin biz shunchaki shaxs massividan ob'ektni qaytardik.

Set blokida odatdagi xossada bo'lgani kabi, biz o'tkazilgan Odam sinfi ob'ektini value parametri orqali olamiz va uni indeks bo'yicha massivga saqlaymiz.

set { shaxs[index] = value; }

Endi biz Kompaniya sinfi ob'ekti bilan Odam sinfi ob'ektlari to'plami sifatida ishlashimiz mumkin:


Download 67.89 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8




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