24-mavzu. Polimorfizm


Download 126.11 Kb.
bet3/7
Sana18.10.2023
Hajmi126.11 Kb.
#1707595
1   2   3   4   5   6   7
Bog'liq
30-maruza

C# da polimorfizm
Polimorfizm yunoncha so'z bo'lib, "bir ism ko'p shakllar" degan ma'noni anglatadi. Boshqacha qilib aytganda, bitta ob'ekt ko'p shakllarga ega yoki bir nechta funksiyalarga ega bo'lgan bitta nomga ega. “Poly” ko‘p, “morf” esa shakllarni bildiradi. Polimorfizm sinfga bir xil nomdagi bir nechta ilovalarga ega bo'lish imkoniyatini beradi. Bu inkapsulyatsiya va merosdan keyin ob'ektga yo'naltirilgan dasturlashning asosiy tamoyillaridan biridir. Ushbu maqolada siz polimorfizm nima ekanligini, u qanday ishlashini va C# da polimorfizmni qanday amalga oshirishni bilib olasiz.
Polimorfizm turlari
C# da polimorfizmning ikki turi mavjud:
Statik / kompilyatsiya vaqti polimorfizmi.
Dinamik / ish vaqti polimorfizmi.

Statik yoki kompilyatsiya vaqti polimorfizmi
U erta bog'lanish sifatida ham tanilgan. Usulni ortiqcha yuklash statik polimorfizmga misoldir. Haddan tashqari yuklashda usul/funksiya bir xil nomga ega, ammo turli imzolarga ega. U kompilyatsiya vaqti polimorfizmi sifatida ham tanilgan, chunki qaysi usulni chaqirish kerakligi kompilyatsiya vaqtida qabul qilinadi. Haddan tashqari yuklash - bu usul nomlari boshqa parametrlar to'plami bilan bir xil bo'lgan tushunchadir.
Bu erda C# kompilyatori o'tkazilgan parametrlar sonini va parametr turini tekshiradi va qaysi usulni chaqirish to'g'risida qaror qabul qiladi va mos keladigan usul topilmasa, xato qiladi.
Quyidagi misolda sinfda bir xil nomli "Qo'shish" deb nomlangan, lekin kiritish parametrlari har xil bo'lgan ikkita usul mavjud (birinchi usulda uchta parametr, ikkinchi usulda ikkita parametr mavjud).

  1. public class TestData

  2. {

  3. public int Add(int a, int b, int c)

  4. {

  5. return a + b + c;

  6. }

  7. public int Add(int a, int b)

  8. {

  9. return a + b;

  10. }

  11. }


  12. Download 126.11 Kb.

    Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




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