Polimorfizm va virtual metodlar



Yüklə 30,86 Kb.
səhifə3/5
tarix20.11.2023
ölçüsü30,86 Kb.
#162276
1   2   3   4   5
Polimorfizm va virtual metodlar

16. Lambda ifodalar
Lambda ifodasini yaratish:
Amaliyot = (x,y)->x+y;
Bundan tashqari, lambda ifodasining parametrlari Operatsion interfeysning yagona usuli parametrlariga mos keladi va natija interfeys usulining qaytish natijasiga mos keladi. Bunday holda, lambda ifodasidan natijani qaytarish uchun biz qaytish kalit so'zidan foydalanishimiz shart emas. Shunday qilib, interfeys usulida ikkala parametr ham int turini ifodalaydi, ya'ni lambda ifodasi tanasida biz ularga qo'shimchani qo'llashimiz mumkin. Qo'shish natijasi, shuningdek, int turini ifodalaydi, uning ob'ekti interfeys usuli bilan qaytariladi. Lambda ifodasini interfeys usuliga chaqiruv sifatida ishlatish:
int natija = operatsiya.hisoblash(10, 20);
Parametrlarni qo'shish operatsiyasi lambda ifodasida aniqlanganligi sababli, usulning natijasi 10 va 20 raqamlarining yig'indisi bo'ladi.
Umumlashgan delegatlar.
Delegatni umumlashtirilgan delegat deb e'lon qilish uchun umumlashtiruvchi parametrlar delegat nomidan keyin burchakli qavsda (< >) ko'rsatiladi. Delegat bajarilganda, ya'ni delegatga murojaat qilinganda, umumiy parametrlarning faol qiymatlari delegat nomidan keyin burchakli qavsda ko'rsatiladi. Umumlashtirilgan delegatlarning bajarilishida avval va delegatlarining taqqoslashlari ishlatilgan umumiy ro'yxatlarni saralash va qidirishni ko'rib chiqiladi. Delegatlar metodning parametrlarini va qaytish turini, shuningdek delegate kalit so'zini va delegat nomini ko'rsatib belgilanadi. Masalan, delegatni quyidagicha tasavvur qilib olaylik:
public delegate int MyDelegate (int opl, int op2);
Shunda umumlashtirilgan delegat esa bir yoki bir nechta umumiy turdagi parametrlarni e'lon qilish va ulardan foydalanish orqali quyidagicha aniqlanadi:
public delegate MyDelegate (T1 op1, T2 op2);
bu yerda T1va T2 umumiy turlardir;


17. Action va Func delegati
Func delegati

Ko'p hollarda maxsus delegatlarni qo'lda belgilashga hojat qolmasligi uchun C# tarkibiga umumiy delegat turlari Func va Action kiritilgan.


Func bu - System nomlar fazosiga kiritilgan umumiy delegatdir va u parametrlari bo'lmagan metodni kapsulaga soladi va parametr bilan ko'rsatilgan turdagi qiymatni qaytaradi. Bunda nol yoki undan ortiq kirish parametrlari va bitta chiqish parametri mavjud hisoblanib, oxirgi parametr har doim chiqish parametri sifatida bo'ladi. Func delegati parametrlari <> (burchakli qavs)lar ichida ko'rsatiladi.

Action delegati


Action delegati bu - Func kabi System nomlar fazosi tarkibiga kiruvchi umumiy delegatdir. Action delegati tuzilish jihatidan Func delegatiga o'xshash, lekin Action delegatida hech qanday parametr qaytarilmaydi. Shuning uchun Action delegati void tipli metodlar bilan ishlatiladi.





Yüklə 30,86 Kb.

Dostları ilə paylaş:
1   2   3   4   5




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©www.azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin