OZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNALOGIYALARI UNIVERSITETI
Kopyuter injiniring fakulteti talabasi
Suvonqulov Jahongirning
Dasturlash 1 fanidan
Mustaqil ishi
Gurux:002-L1
Tekshirdi: Rustamova M.
Polimarfizm
Polimarfizm-bu kodni bajarish paytidan yuzaga keladigan holatga bog’liq ravishda o’zini turlichaamal qilish hususiyatidir.Polimarfizm-bu Faqat obyektlar xuxusiyati bo’lmasdan balki funksiyalar-a’zolar xususiyatidir.Bu holatga funksiyalarni qayta yuklash deyiladi deyiladi.
Polimarfizmamallarga ham qo’llanilishi mumkin,yani mazmuni (natijai) operand (berilgan) turiga bog’liq bo’ladi.Polimarfizmning bunday turiga amallarni qayta yuklash deyiladi.
Polimarfizmning yana bir ta’rifi quidagicha:-bu tayanch sinfga ko’rsatkichlarning (murojatlarning) ularning virtual funksiyalarini chaqirishdagi turli shakl (qiymatlarni) qabul qilish imkoniyatidir.C++ tilining bunday imkoniyati kechiktirlgan bog’lanish natijasidir.
Kechiktirilgan bog’lanishda chaqiriladigan funksiya-a’zolar adreslari programma bajarilishi jarayonida dinamik ravishda aniqlanadi.
Ananaviy programmalash tillarida esa bu adreslar static bo’lib ular kompilyatsiya paytida aniqlanadi(oldindan bog’lanish).
Kechiktirilgan bog’lanish faqat virtual funksiyalar uchun o’rinli.
Polimarfizm bu “ko’p shakllar”degan ma’noni anglatadi.Biz Meros orqali bir biri bilan bog’liq bo’lgan ko’plab sinflarga ega bo’lganimizda paydo bo’ladi.Polimarfizm turli xil vazifalarni bitta xarakatda turli yo’llarni bajarishimiz imkoniyatiga ega bo’lamiz.
Obyektlar abstract darajada qarash xususiyati.Masalan turli xil oynalar mavjud:deraza oynasi,eshik oynasi,mashina oynasi,telefon oynasi.Bularning barchasi bir-biridan ishlatilish soxasi,tuzilishi,shakli bilan farq qiladi .Lekin barchasini umumiy qilib oyna deb qarash mumkin.Polimarfizm turli xil obyektlar bilan bir xil uniformada ishlash imkniyatini beradi.
Polimarfizm orqali bir jarayonni turli yo’llar bilan tashkillashtirishimiz mumkin.
Polimarfizm so’zi yunoncha ikki so’zning birikmasidan tashkil topgan “poly”-Ko’p va “morphs”-formalar.Polimarfizm ham ko’p formalar degan manoni anglatadi.
Polimarfizm –bu bitta interfeys bir nechta metod yani metodlarni overload yoki ovverride ko’rinishidir.
Polimarfizm ikki xil ko’rinishda namoyon bo’ladi.
Complite time;
Run time;
Compliote time polimarfizm bu funksiyalar va operatorlar overloadi,yani funksiyalar va operatorlarning qo’shimcha
Yuklanishidir(function overloading or operator overloading).
Run time polimarfizm bu –vorislik va virtual funksiyalardan foydalanishda vujudga keladi.(function overloading).
#include
#include
using namespace std;
// Base class
class Animal {
public:
void animalSound() {
cout << "The animal makes a sound \n" ;
}
};
// Derived class
class Pig : public Animal {
public:
void animalSound() {
cout << "The pig says: wee wee \n" ;
}
};
// Derived class
class Dog : public Animal {
public:
void animalSound() {
cout << "The dog says: bow wow \n" ;
}
};
int main() {
Animal myAnimal;
Pig myPig;
Dog myDog;
myAnimal.animalSound();
myPig.animalSound();
myDog.animalSound();
return 0;
}
Do'stlaringiz bilan baham: |