Heim > Artikel > Backend-Entwicklung > Ein Fall der Implementierung einer objektorientierten Polymorphismusmethode in PHP
Dieser Artikel stellt hauptsächlich die Implementierungsmethode des objektorientierten Polymorphismus in PHP vor. Er erläutert kurz die Prinzipien des objektorientierten Polymorphismus und vermittelt relevante Bedienfähigkeiten für die Implementierung von Polymorphismus in PHP anhand spezifischer Beispiele. Weiter
Die Beispiele in diesem Artikel beschreiben die objektorientierte polymorphe Implementierungsmethode in PHP. Geben Sie es wie folgt als Referenz an alle weiter:
Polymorphismus: Die Referenz der übergeordneten Klasse verweist auf das Objekt der untergeordneten Klasse (im objektorientierten Modus können je nach Kontext unterschiedliche Klassen aufgerufen werden). der Verwendung der Klasse (unter Verwendung verschiedener Eingabeklassen) (Klassenmethoden), um die Eigenschaften und das Verhalten der Klasse neu zu definieren oder zu ändern); die Schnittstellenreferenz verweist auf das Klassenobjekt, das die Schnittstelle implementiert.
Objektorientiert: Formen Sie Daten (Attribute), Methoden zur Verarbeitung von Daten und Logik in einer Klasse, abstrahieren Sie die Klasse, um ein Objekt zu bilden, und verwenden Sie die Klasse über das Objekt
<?php class work{ function polymorphic($obj){ //检查是否引用类型(obj是否继承animal类) if($obj instanceof animal){ $obj -> fun(); } else{ echo "no function"; } } //如果需要指定类 (指定cat类,包含cat子类) function bose(cat $obj){ $obj->fun(); } } //抽象类 abstract class animal{ abstract function fun(); } //cat猫类 class cat extends animal{ function fun(){ echo "cat say miaomiao..."; } } //dog狗类 class dog extends animal{ function fun(){ echo "dog say wangwang..."; } } class mouse extends cat{ } //先new一个work类 $new_work = new work(); //然后通过new_work对象 调用 polymorphic 方法,传入不同的类实现 父类引用指向子类对象;接口引用指向实现接口的类对象(多态)。 $new_work->polymorphic(new cat()); echo '<br/>'; $new_work->polymorphic(new dog()); echo '<br/>'; //指定类方式仿java $new_work->bose(new cat()); echo '<br/>'; //如果传输其他类,或者未继承cat类则会报错 //$new_work->bose(new dog()); echo '<br />'; //这也不会报错 $new_work->bose(new mouse());
Laufergebnis:
cat say miaomiao... dog say wangwang... cat say miaomiao... cat say miaomiao...
Das obige ist der detaillierte Inhalt vonEin Fall der Implementierung einer objektorientierten Polymorphismusmethode in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!