Xuddi shu usul dasturlashda ham qo`llanilishi mumkin. Misol sifatida stekni, yani "oxilgi kelgan-birinchi xizmat qiladi" tamoyiliga asoslangan xotira sohasini qaraylik. Keling, dasturda uchta turli xil tipda stek aniqlash talab qilinsin: bittasi butun qiymatlar uchun, boshqasi suzuvchi nuqtali qiymat uchun, uchinchisi belgilar uchun. Ushbu misolda, bu to'plamlarni amalga oshiradigan algoritm turli xil ma'lumotlarni saqlab qolishiga qaramasdan o'zgarishsiz qoladi. Ob'ektga yo'naltirilmagan tilda, bu maqsad uchun turli nomlar bilan uchta turli xil stakli dasturlarini yaratish kerak edi. Biroq, polimorfizm tufayli C # da barcha uch turni amalga oshirish uchun faqat bitta umumiy to'plamini yaratish kifoya. Bitta stekdan qanday foydalanishni bilsangiz qolganlaridan ham foydalana olasiz.
Umuman olganda, polimorfizm tushunchasi ko'pincha quyidagicha ifodalanadi:"bir interfeys — ko'plab metodlar". Bu shuni anglatadiki, o'zaro bog'liq harakatlar guruhi uchun umumiy interfeysni ishlab chiqish mumkin. Polimorfizm dasturni soddalashtirishga yordam beradi, bu esa umumiy harakat sinfini tasvirlash uchun bir xil interfeysdan foydalanishga imkon beradi. Har bir alohida holatda muayyan harakatni (ya'ni metodni) tanlash — bu komplyatorning vazifasidir. Dasturchi buni o`zi bajarishi shart emas. Unga umumiy interfeysni bilish va undan to`g`ri foydalanish yetarli.
Do'stlaringiz bilan baham: |