Junior — Middle
Объектілі бағдарламауында полиморфизм ұғымын түсіндіре аласыз ба?
sobes.tech AI
AI-дан жауап
Объектке бағытталған бағдарламалауда полиморфизм — бұл әртүрлі сыныптағы объектілердің бірдей хабарламаларға (әдіс шақыруларына) әртүрлі жауап беру қабілеті. Бұл әртүрлі объектілермен жұмыс істеу үшін бір интерфейсті пайдалануға мүмкіндік береді.
Мысалы, C++-та виртуалды функциясы бар негізгі сыныпты анықтап, оны мұрагер сыныптарда қайта анықтауға болады:
class Animal {
public:
virtual void speak() {
std::cout << "Жануар дыбысы" << std::endl;
}
};
class Dog : public Animal {
public:
void speak() override {
std::cout << "Құйрық" << std::endl;
}
};
class Cat : public Animal {
public:
void speak() override {
std::cout << "Мяу" << std::endl;
}
};
void makeAnimalSpeak(Animal* animal) {
animal->speak(); // әдіс шақыру нақты объектінің түріне байланысты
}
Осылайша, speak() әдісінің шақыруы объектінің түріне байланысты әртүрлі әрекет етеді, бұл полиморфизм деп аталады.