PHP策略模式之簡單使用

//文件名CelueService.php
//定義接口,衣服下有褲子、鞋子
interface Yifu
{
    public function kuzi();

    public function xiezi();
}
//淘寶褲子、鞋子
class Taobao implements Yifu
{
    public function kuzi()
    {
        echo "toabao---kuzi";
    }

    public function xiezi()
    {
        echo "taobao---xiezi";
    }
}
//京東褲子、鞋子
class Jingdong implements Yifu
{
    public function kuzi()
    {
        echo "jingdong---kuzi";
    }

    public function xiezi()
    {
        echo "jingdong---xiezi";
    }
}

class CelueService
{
    private $obj;

    //方式1:
    public function __construct(Yifu $yifu)
    {
        $this->obj = $yifu;
    }

//    //方式2
//    public function __construct($method)
//    {
//        $temp = new \ReflectionClass($method);
//        $this->obj = $temp->newInstance();
//    }

    public function total_kuzi()
    {
        $this->obj->kuzi();
    }

    public function total_xiezi()
    {
        $this->obj->xiezi();
    }
}

$obj = new CelueService(new Taobao());//需要京東就傳new Jingdong()
$obj->total_xiezi();
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容