Exemple 1: polymorphisme avec des fonctions et des objets
Le script suivant montre l'utilisation du polymorphisme entre deux classes différentes. Une fonction est utilisée pour créer l'objet de ces classes. La valeur de la variable nommée couleur est initialisé dans le __init __ () Méthode des deux 'Perroquet' et le 'Autruche'Classes au moment de la création d'objets. Le caractéristiques() La méthode est définie dans les deux classes, mais la sortie de la méthode pour chaque classe est un peu différente. Le Create_object () La fonction est utilisée pour créer un objet de la classe. Cette fonction est exécutée deux fois pour créer l'objet dans le 'Perroquet'Classe et dans le'Autruche' classe. Chacun appellera la méthode des fonctionnalités () des deux classes et imprimera la sortie.
#!/ usr / bin / env python3Sortir
La sortie suivante montre que l'objet du 'Perroquet'La classe est créée avec'Vert'Comme le couleur valeur. La fonction imprime la sortie en appelant le caractéristiques() Méthode du 'Perroquet' classe. Ensuite, l'objet du 'Autruche'La classe est créée avec'Noir et blanc'Comme le couleur valeur. La fonction imprime la sortie en appelant le caractéristiques() Méthode du 'Autruche' classe.
Exemple 2: Polymorphisme dans les méthodes de classe non apparentées
Comme dans l'exemple précédent, le script suivant montre l'utilisation du polymorphisme dans deux classes différentes, mais aucune fonction personnalisée n'est utilisée pour déclarer l'objet. Le __init __ () Méthode des deux 'Directeur' et 'Greffier'Les classes initialiseront les variables nécessaires. Le polymorphisme est mis en œuvre ici en créant le post_details () et salaire() Méthodes à l'intérieur des deux classes. Le contenu de ces méthodes est différent pour chacune de ces classes. Ensuite, les variables d'objet sont créées pour les deux classes et itérées par un pour une boucle. Dans chaque itération, le post_details () et salaire() Les méthodes sont appelées pour imprimer la sortie.
#!/ usr / bin / env python3Sortir
La sortie suivante montre que l'objet du 'Manger'La classe est utilisée dans la première itération du pour Loop et le salaire du gestionnaire sont imprimés après le calcul. L'objet du 'Greffier'La classe est utilisée dans la deuxième itération du pour la boucle et le salaire du greffier sont imprimés après le calcul.
Exemple 3: Polymorphisme dans les méthodes de classe associées
Le script suivant montre l'utilisation du polymorphisme entre deux classes enfants. Ici, les deuxTriangle' et 'Cercle«sont les classes enfants de la classe parent nommée»Forme géométrique.'Selon l'héritage, la classe infantile peut accéder à toutes les variables et méthodes de la classe parentale. Le __init __ () Méthode du 'Forme géométrique'La classe est utilisée dans les deux classes enfants pour initialiser la variable nom en utilisant le super() méthode. Les valeurs du base et hauteur de la 'Triangle'La classe sera initialisée au moment de la création d'objets. De la même manière, les valeurs de rayon du 'Cercle'La classe sera initialisée au moment de la création d'objets. La formule pour calculer la zone d'un triangle est ½ × base × hauteur, qui est implémenté dans le zone() Méthode du 'Triangle' classe. La formule pour calculer la surface d'un cercle est 3.14 × (rayon)2, qui est implémenté dans le zone() Méthode du 'Cercle' classe. Les noms des deux méthodes sont les mêmes, ici, mais le but est différent. Ensuite, une valeur de chaîne sera tirée de l'utilisateur pour créer un objet et appeler la méthode en fonction de la valeur. Si l'utilisateur tape «triangle», alors un objet du »Triangle' La classe sera créée, et si l'utilisateur tape «cercle», alors un objet du 'Cercle' La classe sera créée. Si l'utilisateur tape du texte sans «triangle» ou «cercle», alors aucun objet ne sera créé et un message d'erreur sera imprimé.
#!/ usr / bin / env python3Sortir
Dans la sortie suivante, le script est exécuté deux fois. La première fois, Triangle est pris comme l'entrée et l'objet est initialisé par trois valeurs, 'Triangle', base, et hauteur. Ces valeurs sont ensuite utilisées pour calculer la zone du triangle et la sortie sera imprimée. La deuxième fois, cercle est pris en entrée et l'objet est initialisé par deux valeurs, 'Cercle' et rayon. Ces valeurs sont ensuite utilisées pour calculer la zone du cercle et la sortie sera imprimée.
Conclusion
Cet article a utilisé des exemples faciles pour expliquer trois utilisations différentes du polymorphisme à Python. Le concept de polymorphisme peut également être appliqué sans classes, une méthode qui n'est pas expliquée ici. Cet article a aidé les lecteurs à en savoir plus sur la façon d'appliquer le polymorphisme dans la programmation Python basée sur des objets.