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


Biroq, agar biz sinfdan tashqarida sinf doimiysiga murojaat qilmoqchi bo'lsak, u xolda murojaat qilish uchun sinf nomidan foydalanishimiz kerak


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

Biroq, agar biz sinfdan tashqarida sinf doimiysiga murojaat qilmoqchi bo'lsak, u xolda murojaat qilish uchun sinf nomidan foydalanishimiz kerak:

Console.WriteLine(Odam.turi); // Odam

Shunday qilib, agar siz butun sinfga tegishli ma'lumotlarni saqlashingiz kerak bo'lsa, doimiylardan foydalanishingiz mumkin.

O'qish maydonlari va faqat o'qiladigan modifikator

O'qish maydonlari sinf yoki strukturaning qiymatini o'zgartirib bo'lmaydigan maydonlarini ifodalaydi. Bunday maydonlarga qiymat e'lon qilingan vaqtda ham, konstruktorda ham berilishi mumkin. Dasturning boshqa joylarida siz bunday maydonlarga qiymat bera olmaysiz, faqat ularning qiymatini o'qishingiz mumkin. O'qish maydoni readonly kalit so'zi bilan e'lon qilinadi:

class Odam

{

public readonly string nomi = “Nomsiz"; // inisializatsiya qilish mumkin

public Odam(string nomi)

{

this.nomi = nomi; // konstruktorda maydonga qiymat berish mumkin

}

public void NomBelgilash(string BoshqaNom)

{

//this.nomi = BoshqaNom; // Xato. Mumkin emas!

}

}

Odam akmal = new Odam(“Akmal");

Console.WriteLine(akmal.nomi);

//akmal.nomi = “Axmad"; // Xato. O’zgartirish mumkin emas!

Demak, nom maydoni foydalanuvchi nomini o'z ichiga oladi va o'qish maydonini ifodalaydi. Unga to'g'ridan-to'g'ri deklaratsiya vaqtida qiymat berilishi mumkin:

Demak, nom maydoni foydalanuvchi nomini o'z ichiga oladi va o'qish maydonini ifodalaydi. Unga to'g'ridan-to'g'ri deklaratsiya vaqtida qiymat berilishi mumkin:

public readonly string nomi = “Nomsiz";

Yoki konstruktorda qiymat belgilashimiz mumkin:

public Odam(string nomi)

{

this.nomi = nomi;

}

Dasturning boshqa joylarida, shu jumladan Odam sinfining o'zida ham siz o'qish maydoniga qiymat bera olmaysiz.


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