Heim >Backend-Entwicklung >PHP-Tutorial >Ein Fall der Implementierung einer objektorientierten Polymorphismusmethode in PHP

Ein Fall der Implementierung einer objektorientierten Polymorphismusmethode in PHP

黄舟
黄舟Original
2017-09-28 09:02:511383Durchsuche

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 &#39;<br/>&#39;;
$new_work->polymorphic(new dog());
echo &#39;<br/>&#39;;
//指定类方式仿java
$new_work->bose(new cat());
echo &#39;<br/>&#39;;
//如果传输其他类,或者未继承cat类则会报错
//$new_work->bose(new dog());
echo &#39;<br />&#39;;
//这也不会报错
$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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn