.
3ss.cn

用PHP代码实现简单的工厂模式

PHP代码实现简单的工厂模式方法

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();//我是羊,我吃草
赞(0)
未经允许不得转载:互联学术 » 用PHP代码实现简单的工厂模式

评论 抢沙发