1. System. Object sinfi va uning usullari Umumlashtirish



tải về 70.5 Kb.
trang6/12
Chuyển đổi dữ liệu27.03.2024
Kích70.5 Kb.
#56976
1   2   3   4   5   6   7   8   9   ...   12
22-09

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 transaction1 = new Transaction
{
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.


tải về 70.5 Kb.

Chia sẻ với bạn bè của bạn:
1   2   3   4   5   6   7   8   9   ...   12




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương