<?php
interface js{
function ys($a,$b);
}
class Af implements js{
function ys($a,$b){
return "加法運(yùn)算......結(jié)果為:".($a+$b);
}
}
class Jf implements js{
function ys($a,$b){
return "減法運(yùn)算......結(jié)果為:".($a-$b);
}
}
class AAf implements js{
function ys($a,$b){
return "乘法運(yùn)算......結(jié)果為:".($a*$b);
}
}
class JJf implements js{
function ys($a,$b){
return "除法運(yùn)算......結(jié)果為:".($a/$b);
}
}
class Modf implements js{
function ys($a,$b){
return "取模運(yùn)算......結(jié)果為:".($a % $b);
}
}
class China implements js{
public $varl=null;//這里直接:public $varl = new nothingx(); 會(huì)出錯(cuò)。
function __construct(){
$this->varl = new nothingx();
}
function ys($a,$b){
return $this->varl->say();
}
}
/*也可以用繼承的方式實(shí)現(xiàn)喲:
class China extends nothingx implements js{
function ys($a,$b){
return parent::say();
}
}
*/
class nothingx{
function say(){
return "我什么運(yùn)算都不做...只是為了實(shí)現(xiàn)<font color=#990000><b>‘耦合設(shè)計(jì)模式'</b></font>...我是出來(lái)打醬油的......";
}
}
class test{
private $one;
private $two;
public function __construct($x,$y){
$this->one=$x;
$this->two=$y;
echo "<font size=20px><strong>面向?qū)ο蟪绦蛟O(shè)計(jì)——接口</font></strong><hr>Class test初始化:<br>屬性\$one=".$this->one." 屬性\$two=".$this->two."<hr>";
}
function display(js $a){
return "<font color=#990000><b>用PHP接口技術(shù)實(shí)現(xiàn)的運(yùn)算——開(kāi)始運(yùn)算啦:</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);
?>