1、定义抽象基类
//家禽类abstract class fowl{ abstract public function eat();//吃方法}
2、定义子类
//牛类class cattle extends fowl{ public function eat() { echo "我是牛,我吃草"; }}//鸭类class duck extends fowl{ public function eat() { echo "我是鸭,我吃鱼"; }}//羊类class sheep extends fowl{ public function eat() { echo "我是羊,我吃草"; }}
3、工厂类
//工厂类class factory{ public static function create($fowlname) { switch ($fowlname) { case 'cattle': return new cattle(); break; case 'duck': return new duck(); break; case 'sheep': return new sheep(); break; } }}
4、客户端
$cattle = factory::create('cattle');$cattle->eat();//我是牛,我吃草$duck = factory::create('duck');$duck->eat();//我是鸭,我吃鱼$sheep = factory::create('sheep');$sheep->eat();//我是羊,我吃草
以上就是用php代码实现简单的工厂模式的详细内容。
