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();

本文介绍了一个使用PHP实现的简单工厂模式实例。通过定义一个形状接口和三个具体形状类(Rectangle、Square、Circle),并创建一个ShapeFactory来根据类型生成具体的形状对象。最后,通过示例演示了如何使用此工厂来获取不同形状的对象并调用它们的draw方法。

被折叠的 条评论
为什么被折叠?



