PHP设计模式之适配器(Adapter)

<?php 
 /*现在目标需要创造一个有零线、地线、火线,三种线的插头(Target),但是还没做好,都没开始做,每个方法里什么都没有*/ 
 interface Target{ 
  /*制造火线*/ 
  public function LiveWire(); 
  /*制造零线*/ 
  public function NaughtWire(); 
  /*制造地线*/ 
  public function Earth(); 
 } 
  
 /*现在我有一种拥有零线和火线的双线插头,就是没有地线,这个双线插头(Adaptee)是不能用的*/ 
 class Adaptee{ 
  /*已经做好的火线*/ 
  public function LiveWire(){ 
   echo "制造出了火线<br/>"; 
  } 
  /*已经做好的零线*/ 
  public function NaughtWire(){ 
   echo "制造出了零线<br/>"; 
  } 
 } 
  
 /*我制造出一个适配器,用这个适配器借用(Adaptee)里面的方法,对于Adaptee里没有的方法,才进行了“制造”*/ 
 class Adapter extends Adaptee implements Target{ 
  public function Earth(){ 
   echo "制造出了地线<br/>"; 
  } 
 } 
  
 function Client(){ 
  /*创造了一个三线的插头*/ 
  $line = new Adapter(); 
  /*这两个线都是借用的*/ 
  $line->LiveWire(); 
  $line->NaughtWire(); 
  /*只有地线是重新写的*/ 
  $line->Earth(); 
 } 
?> 
<?php 
 Client(); 
?> 
<meta charset="utf-8">


你可能感兴趣的:(PHP,适配器)