设计模式——工厂模式(php)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值