Sobes.tech
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() әдісінің шақыруы объектінің түріне байланысты әртүрлі әрекет етеді, бұл полиморфизм деп аталады.