php 设计模式之工厂方法模式

/**
 * Class Creator 工厂类
 */
abstract class Creator{
    protected abstract function factoryMethod();
    public function startFactory(){
        return $this->factoryMethod();
    }
}

/**
 * Class FruitsFactory 水果工厂
 */
class FruitsFactory extends Creator
{
    protected function factoryMethod(){
        $obj = new Apple();
        return $obj->getProperties();
    }
}

/**
 * Class Pen 笔工厂
 */
class PenFactory extends Creator{
    protected function factoryMethod()
    {
        $obj = new Pencil();
        return $obj->getProperties();
    }
}

/**
 * Class Apple 苹果类
 */
class Apple{
    public function getProperties(){
        echo 'making Apple <br/>';
    }
}

/**
 * Class Pencil 铅笔类
 */
class Pencil{
    public function getProperties(){
        echo 'making Pencil <br/>';
    }
}
//示例
$a = new FruitsFactory();
$b = new PenFactory();
$a->startFactory();
$b->startFactory();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值