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

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();//我是羊,我吃草
登录后复制

以上就是用PHP代码实现简单的工厂模式的详细内容,更多请关注Work网其它相关文章!

08-12 03:43