class derived : public base-class1, public base-class2, … Polimorfizm - Polimorfizm –bu kodning, bajarilish paytidan yuzaga keladigan holatga bog‘liq ravishda o‘zini turlicha amal qilish xususiyatidir. Polimorfizm – bu faqat ob’ektlar xususiyati bo‘lmasdan, balki funksiyalar-a’zolar xususiyatidir va ular xususan, bitta nomdagi funksiya-a’zoni, har xil turdagi argumentlarga ega va bajaradigan amali unga uzatiladigan argumentlar turiga bog‘liq bo‘lgan funksiyalar uchun (o‘rnida) foydalanish imkoniyatida namoyon bo‘ladi.
- Bu holatga funksiyalarni qayta yuklash deyiladi. Polimorfizm amallarga ham qo‘llanishi mumkin, ya’ni amal mazmuni (natijasi) operand (berilgan) turiga bog‘liq bo‘ladi. Polimorfizmning bunday turiga amallarni qayta yuklash deyiladi.
Polimorfizm - Polimorfizm yana bir ta’rifi quyidagicha: polimorfizm – bu tayanch sinfga ko‘rsatkichlarning (murojaatlarning) virtual funksiyalarni chaqirishdagi turli shakl (qiymatlarni) qabul qilish imkoniyatidir.
- C++ tilining bunday imkoniyati kechiktirilgan bog‘lanish natijasidir. Kechiktirilgan bog‘lanishda chaqiriladigan funksiya-a’zolar adreslari programma bajarilishi jarayonida dinamik ravishda aniqlanadi.
- An’anaviy programmalash tillarida esa bu adreslar statik bo‘lib, ular kompilyasiya paytida aniqlanadi (oldindan bog‘lanish).
Kechiktirilgan bog‘lanish faqat virtual funksiyalar uchun o‘rinli. Polimorfizm - Polimorfizm – bu bitta interfeys, bir nechta metod. Ya’ni metodlarni overload yoki override ko’rinishidir. Polimorfizm ikki xil ko’rinishda namoyon bo’ladi
- Compile time polimorfizm bu funksiyalar va operatorlar overloadi, ya’ni funksiyalar va operatorlarning qo’shimcha yuklanishidir (function overloading or operator overloading).
- Runtime polimorfizm bu – vorislik va virtual funksiyalardan foydalanishda vujudga keladi (Function overriding).
Do'stlaringiz bilan baham: |