Le polymorphisme est un concept clé de la programmation orientée objet, qui permet à différents objets de répondre différemment au même appel de méthode. Dans PHP, le polymorphisme est principalement réalisé grâce à l'héritage et à l'interface. Cet article analysera en détail l'essence du polymorphisme PHP en détail avec des exemples de code.
L'héritage est utilisé dans PHP pour implémenter la réutilisation du code et l'extension de la fonction. Les sous-classes héritent des propriétés et des méthodes de la classe parent et peuvent implémenter le polymorphisme en remplaçant la méthode de la classe parent.
// définir un animal de classe animale { fonction publique Speak () { écho "les animaux font du bruit"; } } // définir un chien de classe de chien étend l'animal { fonction publique Speak () { écho "aboyage de chien"; } } // définir une classe de chat, hériter de la classe animale chat étend l'animal { fonction publique Speak () { Echo "Cat Meows"; } } // Créer un objet de chien $ dog = new dog (); $ dog-> dispens (); // Créer un objet Cat $ Cat = new Cat (); $ cat-> dispens ();
Dans le code ci-dessus, l'animal est la classe parentale, le chien et le chat sont des sous-classes, et la méthode des rayons est réécrite respectivement. Lorsque vous appelez la même méthode, différents objets publieront des résultats différents, reflétant ainsi le polymorphisme.
L'interface définit un ensemble de méthodes, mais ne fournit pas d'implémentations spécifiques. Les classes qui implémentent les interfaces doivent implémenter des méthodes dans l'interface, qui est également un moyen pour PHP d'implémenter le polymorphisme.
// définir une interface qui peut rendre l'interface sonore sonnable { Fonction publique Makeound (); } // Dog implémente sondable { Fonction publique Makeound () { écho "aboyage de chien"; } } // class Cat implémente sondable { Fonction publique Makeound () { Echo "Cat Meows"; } } // Créer un objet de chien $ dog = new dog (); $ dog-> makeound (); // Créer un objet Cat $ Cat = new Cat (); $ cat-> makeound ();
Dans cet exemple, l'interface sonnable définit la méthode Makeound, et les classes de chien et de chat implémentent l'interface et fournissent leurs implémentations spécifiques respectives. En appelant la même méthode, différents objets produisent des résultats différents, montrant le polymorphisme.
Le polymorphisme implémenté par l'héritage et l'interface permet aux développeurs d'appeler la même méthode sur différents objets pour obtenir des comportements différents, améliorant ainsi la flexibilité du code, la maintenabilité et l'évolutivité. La maîtrise du principe du polymorphisme est un fondement important du développement orienté objet PHP.