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


Odam odam= new Odam(); Odam odam= new Odam()


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

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

odam.Yoshi = -23; // Yosh 1 va 120 oraliqda kiritilishi kerak

Console.WriteLine(odam.Yoshi); // 37 – yosh o’zgarmagan

class Odam

{ int yoshi = 1;

public int Yoshi

{

set

{ if (value < 1 || value > 120) Console.WriteLine("Yosh 1 va 120 oraliqda kiritilishi kerak");

else yoshi = value;

}

get { return yoshi; }

}

}

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:


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