1. System. Object sinfi va uning usullari Umumlashtirish Umumlashganlarning cheklovlari


Download 48.75 Kb.
bet6/11
Sana19.06.2023
Hajmi48.75 Kb.
#1600338
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
11 System Object asosiy tayanch sinfidan hosilaviy sinflarni yaratish

Standart qiymatlar
Ba'zan umumiy parametrlarning o'zgaruvchilariga, shu jumladan null ga boshlang'ich qiymatni belgilash kerak bo'ladi. Lekin biz uni bevosita tayinlay olmaymiz:
T id = null;

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


class Account
{
T id = default(T);
}


Umumiy sinf statik maydonlari
Umumiy sinf ma'lum bir tur bilan yozilsa, uning statik a'zolari to'plami yaratiladi. Masalan, Account sinfida quyidagi statik maydon aniqlanadi:
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 session oʻzgaruvchisi yaratiladi.




Bir nechta umumiy parametrlardan foydalanish.
Umumlashganlar bir vaqtning o'zida bir nechta umumiy parametrlardan foydalanishi mumkin, ular turli xil turlarini ifodalashi mumkin:
class Transaction
{
public U FromAccount { get; set; } // qaysi hisobdan pul o'tkazmasi
public U ToAccount { get; set; } // pul o'tkazmasi qaysi hisob raqamiga
public V Code { get; set; } // operatsiya kodi
public int Sum { get; set; } // o'tkazma summasi
}

Bu erda Transaction sinfi 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 yerda Transaction obyekti Account va string turlari bo‘yicha teriladi. Ya'ni U universal parametr sifatida Account sinfi, V parametri uchun esa string turi qo'llaniladi. Shu bilan birga, siz ko'rib turganingizdek, Transaction yoziladigan sinfning o'zi umumiydir.





Download 48.75 Kb.

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




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