工廠設計模式PHP實現代碼

jspet 9年前發布 | 4K 次閱讀 PHP Excel

<?php
    //人類接口
    interface IHuman
    {

    function GetName();

}

//男人類,實現人類接口
class ManClass implements IHuman
{
    //獲取姓名方法
    public function GetName()
    {
        return "I'm man."."<br>";

    }

}

//女人類,實現人類接口
class WomanClass implements IHuman
{
    //獲取姓名方法
    public function GetName()
    {
        return "I'm Woman."."<br>";

    }

}

//類工廠,根據需要生產不同實例對象返回
class ManFactory
{
    //根據參數獲取實例對象
    public function GetIHuman($IHuman="man")
    {
        if($IHuman=="woman")
        {
            return new WomanClass();
        }
        else if($IHuman=="man")
        {
            return new ManClass();
        }
        else
        {
            return null;
        }

    }
    //直接獲取woman類
    public function GetWoman()
    {
        return new WomanClass();
        //return new ManClass();
    }
    //直接獲取man類
    public function  GetMan()
    {

        return new ManClass();
    }
}

$ManFactory=new ManFactory();

$ManClass=$ManFactory->GetIHuman();

echo $ManClass->GetName();

$IHuman=$ManFactory->GetIHuman("woman");

echo $IHuman->GetName();

$Woman=$ManFactory->GetWoman();

echo $Woman->GetName();

$Man=$ManFactory->GetMan();

echo $Man->GetName();

?></pre>

 本文由用戶 jspet 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!