PHP 面向接口编程示例
1、定义一个接口!示例如下:
//定义接口
interface PersonInterface{
public function say($name);
public function walk($name,$parm);
}

2、WoMen类实现此接口;
//女人
class WoMen implements PersonInterface{
public function say($name){
echo "My name is <span style=\"color:red;\">{$name}</span>.and I am a woman!!";
}
public function walk($name,$parm){
echo "{$name} walk {$parm} meters away.";
}
}

3、Man类实现此接口:
//男人
class Man implements PersonInterface{
public function say($name){
echo "My name is <span style=\"color:red;\">{$name}</span>.and I am a man!!";
}
public function walk($name,$parm){
echo "{$name} walk {$parm} meters away.";
}
}

4、工厂模式,封装:
//工厂模式
class PerFact{
private static $per=array();
public static function getInstance($type){
switch($type){
case 'woman':
self::$per[$type]= new WoMen();
break;
case 'man':
self::$per[$type]= new Man();
break;
default:
throw new Exception("类型不能为空");
}
return self::$per[$type];
}
}

5、测试:
//type类型
$type='man';
//名字
$name='Tom';
//获取实例对象
$person= PerFact::getInstance($type);
//调用方法
$person->say($name);

6、运行结果:
