Interfeys toifalari tushunchasi Interfeys toifalarni abstract bazaviy sinflar bilan taqqoslash Maxsus interfeyslarni kiritish
Download 0.77 Mb.
|
MAVZULAR UMUMIY
- Bu sahifa navigatsiya:
- Main()
- Almashtir (ref b1, ref b2); // yoki Almashtir (ref b1, ref b2); // kabi
- Program
- Almashtir va AsosSinfniKorsat
Toifa parametrlarini aniqlash
Almashtir // Kompilyator System.Boolean toifasini o’zi topadi (aniqlaydi) bool b1 = true, b2 = false; Console.WriteLine("Almashishdan oldin: {0}, {1}", b1, b2) ; Almashtir (ref b1, ref b2); Console.WriteLine("Almashishdan keyin: {0}, {1}", b1, b2); Kompilyator b1 va b2 larning e’lonlaridagi ma’lumotlarning toifalari asosida toifa parametrini aniqlay olsa ham, siz toifa parametrini oshkora ko’rsatishni o’zingizga odat qilib olishingiz zarur: Almashtir Almashtir Bunday yondashuv boshqa dasturchilarga metodning aslida umumlashgan ekanini tushunishlariga imkon beradi. Bundan tashqari, toifa parametrlarini aniqlash faqat umumlashgan metod kamida bitta parametr qabul qiladigan hollardagina amalga oshiriladi. Masalan, Program sinfida AsosSinfniKorsat static void AsosSinfniKorsat { Console.WriteLine("{0} ning asos sinfi {1} dir.", typeof(T), typeof(T).BaseType); } Bu metodni chaqirishda toifa parametrini ko’rsatish talab etiladi, ya’ni bu holda tashlab ketishga ruzsat yo’q: static void Main(string [ ] args) { // Agar metod parametrlar qabul qilmasa, toifa parametric ko’rsatilishi shart AsosSinfniKorsat AsosSinfniKorsat // Kompilyatsiya bosqichida xatolik! Parametrlar yo’qmi? // Demak, to’ldiruvchi taqdim etilishi shart! // AsosSinfniKorsat (); Console.ReadLine(); } Hozir Almashtir public static class MeningUmumMetodlarim { public static void Almashtir { Console.WriteLine("Siz Almashtir () metodiga {0} berdingiz ", typeof(T)); T temp = a; a = b; b = temp; } public static void AsosSinfniKorsat { Console.WriteLine("{0} ning asos sinfi {1} dir.", typeof(T), typeof(T).BaseType); } } Bu yangi statik sinf ichidagi Almashtir MeningUmumMetodlarim. Almashtir Albatta, bu metodlar statik bo’lishi shart emas edi o’zi. Agar Almashtir Download 0.77 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling