Respublikasi oliy va o’rta maxsus ta’lim vazirligi guliston davlat universiteti amaliy matematika va


Download 1.4 Mb.
bet22/57
Sana26.06.2023
Hajmi1.4 Mb.
#1655865
1   ...   18   19   20   21   22   23   24   25   ...   57
Bog'liq
portal.guldu.uz-Дастурлаш технологиялари

Standart qiymatlar


Ba'zan umumiy parametrlarning o'zgaruvchilariga ba'zi boshlang'ich qiymatlarni tayinlash kerak bo'ladi, shu jumladan null. Ammo biz uni to'g'ridan-to'g'ri tayinlay olmaymiz:


T id = null;


Bunday holda, biz default (T) operatoridan foydalanishimiz kerak. U mos yozuvlar turlariga null va qiymat turlariga 0 belgilaydi:


class Account


{
T id = default(T);
}

Umumiy sinfning statik maydonlari


Umumiy sinfni ma'lum bir turga kiritishda uning statik a'zolar to'plami yaratiladi. Masalan, Account klassi quyidagi statik maydonni belgilaydi:


class Account
{
public static T session;

public T Id { get; set; } public int Sum { get; set; }


}

Endi biz sinfni ikkita turdagi int va string bilan yozamiz:


Account account1 = new Account { Sum = 5000 }; Account.session = 5436;


Account account2 = new Account { Sum = 4000 }; Account.session = "45245";


Console.WriteLine(Account.session); // 5436


Console.WriteLine(Account.session); // 45245

Natijada, Account va Account uchun sessiya o'zgaruvchisi yaratiladi.


Bir nechta umumiy parametrlardan foydalanish


Generika bir vaqtning o'zida bir nechta umumiy parametrlardan foydalanishi mumkin, bu esa har xil turlarni ifodalashi mumkin:

class Transaction


{
public U FromAccount { get; set; } // pul o'tkazmasi hisobi public U ToAccount { get; set; } // qaysi hisob raqamiga
pul o'tkazish
public V Code { get; set; } // operatsion kod
public int Sum { get; set; } // pul o'tkazmasi summasi
}

transfert miqdori Bu erda Transaction klassi ikkita umumiy parametrdan foydalanadi. Keling, ushbu sinfni qo'llaymiz:


Account acc1 = new Account { Id = 1857, Sum = 4500 }; Account acc2 = new Account { Id = 3453, Sum = 5000 };


Transaction, string> transaction1 = new Transaction, string>


{
FromAccount = acc1, ToAccount = acc2, Code = "45478758",
Sum = 900
};
Bu erda Transaction ob'ekti Account va string turlari bilan yoziladi. Ya'ni U universal parametri sifatida Account klassi, V parametri uchun string turi ishlatiladi. Shu bilan birga, siz ko'rib turganingizdek, Transaction yoziladigan sinf o'zi umumiydir.



Download 1.4 Mb.

Do'stlaringiz bilan baham:
1   ...   18   19   20   21   22   23   24   25   ...   57




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