php实现工厂模式的实例代码如下:
//创建一个接口
interface Shape{
function draw();
}
class Rectangle implements Shape{
public function draw()
{
// TODO: Implement draw() method.
echo "Rectangle的draw方法".'<br/>';
}
}
class Square implements Shape{
public function draw()
{
// TODO: Implement draw() method.
echo "Square的draw方法".'<br/>';
}
}
class Circle implements Shape{
public function draw()
{
// TODO: Implement draw() method.
echo "Circle的draw方法".'<br/>';
}
}
//创建一个工厂,生成基于给定信息的实体类的对象。
class ShapeFactory{
public function __construct(){
}
public function getShap($shapType){
if ($shapType=='CIRCLE'){
return new Circle();
}elseif ($shapType=='RECTANGLE'){
return new Rectangle();
}elseif ($shapType=='SQUARE'){
return new Square();
}
return null;
}
}
//使用该工厂
class FactoryPatternDemo{
public function main(){
$shapeFactory=new ShapeFactory();
//获取 Circle 的对象,并调用它的 draw 方法
$circle=$shapeFactory->getShap('CIRCLE');
$circle->draw();
$circle=$shapeFactory->getShap('RECTANGLE');
$circle->draw();
$circle=$shapeFactory->getShap('SQUARE');
$circle->draw();
}
}
$factoryPatternDemo=new FactoryPatternDemo();
$factoryPatternDemo->main();