Dieser Artikel stellt hauptsächlich den Polymorphismus in PHP vor. Ich hoffe, dass er für alle hilfreich ist.
Polymorphe Definition: kümmert sich nur um eine Schnittstelle oder Basisklasse, nicht um die spezifische Klasse eines Objekts. (Gleicher Typ, unterschiedliche Ergebnisse)
Hier sind zwei Beispiele:
Zuerst haben wir festgestellt, dass die Basisklasse den Standard definiert und die Unterklasse ihre eigenen Regeln implementiert. Dies ist eine Voraussetzung des Polymorphismus. Gleichzeitig dient dies dem Umschreiben. Tatsächlich handelt es sich um eine unterschiedliche Leistung verschiedener Klassen, die jedoch nicht unbedingt einer Schnittstellen- oder Basisklassenprogrammierung entspricht. Denn wenn man es aufruft, handelt es sich nicht um stu->showGrade(), sondern um jede ihrer eigenen Methoden
class stu{ public function showGrade(){ echo "base class"; } } class xiaomin extends stu{ public function showGrade(){ echo "is son show 80"; } } class xiaoli extends stu{ public function showGrade(){ echo "is son show 60"; } } function doit($obj){ if(get_class($obj) != "stu"){ $obj->showGrade(); } } doit(new xiaoli()); doit(new xiaomin());
Zweites Beispiel; : Der Parameter dovoice legt fest, dass $obj tierisch ist, was bedeutet, dass das Implementierungsklassenobjekt über die Schnittstelle akzeptiert wird. Eine Transformation nach oben. Dies steht im Einklang mit dem gleichen Typ, aber unterschiedlichen Ergebnissen, was Polymorphismus ist; in Java wird es tatsächlich animal a = new dog(); sein, weil PHP eine typisierte Sprache ist. Es gibt keinen Objektkonvertierungsmechanismus.
interface animal{ public function voice(); } class cat implements animal{ public function voice(){ echo "miao~~~<br>"; } } class dog implements animal{ public function voice(){ echo "wang ~~~<br>"; } } function dovoice(animal $obj){ $obj->voice(); } dovoice(new dog()); dovoice(new cat());
Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.
Verwandte Empfehlungen:Implementierungsfähigkeiten von PHP Unordered TreePHP Unordered Tree Implementierungsfähigkeiten PHP-Vorgang Bildgrößenänderung, Wasserzeichen, Generieren von Bestätigungscode, Ausgabe und Speichern
Das obige ist der detaillierte Inhalt vonPolymorphismus in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!