快捷搜索:  汽车  科技

php怎么设置工厂模式?php抽象工厂模式

php怎么设置工厂模式?php抽象工厂模式function makeCar() {class O_engine implements car{interface car{ function makeCar();}

php怎么设置工厂模式?php抽象工厂模式(1)

相对于上一章说到的简单工厂模式和方法工厂模式,抽象工厂模式可以增加产品族,

各种工厂模式运用场景不同,根据具体业务需求而定。

php怎么设置工厂模式?php抽象工厂模式(2)

内外两族接口方法

php怎么设置工厂模式?php抽象工厂模式(3)

调用方法

具体代码

interface car{

function makeCar();

}

class O_engine implements car{

function makeCar() {

echo '需要引擎<br>';

}

}

class I_engine implements car{

function makeCar() {

echo '引擎也要油啊!<br>';

}

}

class O_lights implements car{

function makeCar() {

echo '需要车灯<br>';

}

}

class I_lights implements car{

function makeCar() {

echo '车灯也要电啊!<br>';

}

}

interface getCar{

//将对象的创建抽象成一个接口。

function getOut(); //外部

function getIn(); //内部

}

class getEngine implements getCar{

function getOut() {

return new O_engine;

}

function getIn() {

return new I_engine;

}

}

class getLights implements getCar {

function getOut() {

return new O_lights;

}

function getIn() {

return new I_lights;

}

}

class Client {

// 简单工厂里的静态方法

function start() {

$getEngine = new getEngine;

$car = $getEngine->getOut();

$car->makeCar();

$car = $getEngine->getIn();

$car->makeCar();

$getLights = new getLights;

$car = $getLights->getOut();

$car->makeCar();

}

}

$client = new Client;

$client->start();

猜您喜欢: