Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Beispiele für die Verwendung der PHP-Schnittstellentechnologie zur Implementierung einfacher polymorpher Anwendungen

Detaillierte Beispiele für die Verwendung der PHP-Schnittstellentechnologie zur Implementierung einfacher polymorpher Anwendungen

伊谢尔伦
伊谢尔伦Original
2017-06-29 10:11:311113Durchsuche

Führt PHP zur Implementierung einfacher polymorpher Anwendungen basierend auf der Schnittstelle-Technologie ein und analysiert die Definition der PHP-Schnittstelle, Vererbung, Aufrufe und polymorphe Implementierungsfähigkeiten in Form vollständiger Beispiele. welche erforderlich sind Freunde können sich auf den

<?php
//实现多态的一个简单实例
interface USB{
  //接口中的方法权限必须是public,并且只有抽象方法或常量
  function mount();
  function work();
  function unmount();
}
class Upan implements USB{
  function mount(){
    echo "U盘被成功挂载!!<br>";
  }
  function work(){
    echo "U盘正在工作……<br>";
  }
  function unmount(){
    echo "U盘被成功卸载!!<br>";
  }
}
class ShuBiao implements USB{
  function mount(){
    echo "USB鼠标被成功插入!<br>";
  }
  function work(){
    echo "USB鼠标正在工作……<br>";
  }
  function unmount(){
    echo "USB鼠标被成功拔除!<br>";
  }
}
class DianNao{
  function useUSB($usb){    //这就是一种多态,当传进去的参数为不同的usb设备时,调用不同设备的相同的方法名,但产生了不同的效果
    $usb->mount();
    $usb->work();
    $usb->unmount();
  }
}
class Worker{
  function install(){
    $dn=new DianNao;  //激活电脑
    $up=new Upan;    //激活优盘
    $sb=new ShuBiao;  //激活鼠标
    $dn->useUSB($up);  //电脑访问优盘
    $dn->useUSB($sb);  //电脑访问鼠标
  }
}
$usb_user=new Worker;  //激活一个USB设备的使用者
$usb_user->install();  //使用者调用安装USB设备的方法
?>

Instanz-Laufeffekt beziehen:

Das obige ist der detaillierte Inhalt vonDetaillierte Beispiele für die Verwendung der PHP-Schnittstellentechnologie zur Implementierung einfacher polymorpher Anwendungen. 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