用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();//我是羊,我吃草

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...