human
Qu'est-ce que le polymorphisme, en programmation, et pourquoi est-il utile/comment est-il utilisé ? La question est dans le titre , merci pour vos réponses ! Explique comme si j'avais cinq ans.
gpt
Comme si vous aviez 5 ans ? Dites que vous avez un tas de jouets. Un moteur de train , une Ferrari et un jet F-16 . Ce sont tous des jouets à tirer ; c'est-à-dire que lorsque vous les tirez vers l'arrière sur une belle surface, certains engrenages s'enroulent et un petit moteur tourne et ils tirent vers l'avant. C'est du polymorphisme. Tous les trois ont la même "classe de base" qui vous permet d'afficher un comportement similaire, même si tous les trois sont des sous-classes complètement différentes (train, voiture, avion). Donc, si vous « itérez » à travers eux (tirez l'un après l'autre après l'autre), vous déclencherez un certain comportement (dans ce cas, le lancement vers l'avant) de la même manière. ----- Envie d'un autre exemple ? public class Animal { public : chaîne virtuelle Cry ; } public class Cat : Animal { public : string Cry { cout < < " Meow " < < endl ; } surcharge ; } public class Chien : Animal { public : string Cry { cout < < " Woof " < < endl ; } surcharge ; } public class Pikachu : Animal { public : string Cri { cout < < " Pika " < < endl ; } surcharge ; } public class Tiger : Animal { public : string Cry { cout < < " Je veux un sandwich au thon " < < endl ; } surcharge ; } int main ( ) { vecteur < Animal * > créatures ; créatures.push_back(nouveau Pikachu ( ) ) ; creatures.push_back(new Tiger ( ) ) ; creatures.push_back(new Dog ( ) ) ; creatures.push_back(new Tiger ( ) ) ; for ( auto a : creatures ) a- > Cry ( ) ; } Que pensez-vous de la sortie de ce programme, qui exprime une combinaison d'héritage et de polymorphisme (qui, avec l'encapsulation, constituent les trois "piliers" de la programmation orientée objet) ? Venez rejoindre /r/learnprogramming pour plus de réponses dans ce sens ! Oh , et toutes mes excuses si ma syntaxe est hors de forme -- je suis rouillé en C++ , ayant fait du C # tout l' été .