復制代碼 代碼如下:
<?php
interface js{
function ys($a,$b);
}
class Af implements js{
function ys($a,$b){
return "加法運算......結果為:".($a+$b);
}
}
class Jf implements js{
function ys($a,$b){
return "減法運算......結果為:".($a-$b);
}
}
class AAf implements js{
function ys($a,$b){
return "乘法運算......結果為:".($a*$b);
}
}
class JJf implements js{
function ys($a,$b){
return "除法運算......結果為:".($a/$b);
}
}
class Modf implements js{
function ys($a,$b){
return "取模運算......結果為:".($a % $b);
}
}
class China implements js{
public $varl=null;//這裡直接:public $varl = new nothingx(); 會出錯。
function __construct(){
$this->varl = new nothingx();
}
function ys($a,$b){
return $this->varl->say();
}
}
/*也可以用繼承的方式實現喲:
class China extends nothingx implements js{
function ys($a,$b){
return parent::say();
}
}
*/
class nothingx{
function say(){
return "我什麼運算都不做...只是為了實現<font color=#990000><b>‘耦合設計模式'</b></font>...我是出來打醬油的......";
}
}
class test{
private $one;
private $two;
public function __construct($x,$y){
$this->one=$x;
$this->two=$y;
echo "<font size=20px><strong>面向對象程序設計——接口</font></strong><hr>Class test初始化:<br>屬性\$one=".$this->one." 屬性\$two=".$this->two."<hr>";
}
function display(js $a){
return "<font color=#990000><b>用PHP接口技術實現的運算——開始運算啦:</b></font><hr>".$a->ys($this->one,$this->two)."<hr>";
}
}
$t=new test(103,2);
$t1=new jf;
$t2=new China;
echo $t->display($t1);
echo $t->display($t2);
?>