1. 程式人生 > >JAVASCRIPT與PHP工廠函數

JAVASCRIPT與PHP工廠函數

JAVASCRIPT與PHP工廠函數

  • JAVASCRIPT:
    a. 代碼:
    function createObj(name) {
    var obj = {
        name:name,
        showName:function(){
            console.log(this.name)
        }
    }
    return obj;
    }
    var obj1 = createObj(‘lee_1‘);
    var obj2 = createObj(‘lee_2‘);
    obj1.showName()
    obj2.showName()

    b. 輸出:

    lee_1
    lee_2
  • PHP:
    a. 代碼:
    <?php
    class man{
    public function say(){
        echo ‘我是男人‘.PHP_EOL;
    }
    }
    class women{
    public function say(){
        echo ‘我是女人‘.PHP_EOL;
    }
    }
    class factory{
    static function createMan(){
        return new man();
    }
    static function createWomen(){
        return new women();
    }
    }
    $factory = new factory();
    $man = $factory->createMan();
    $man->say();
    $woman = $factory->createWomen();
    $woman->say();

    b. 輸出:

    我是男人
    我是女人
  • 說明:
    1、因為JS中沒有類的概念,工廠函數是為了解決面向對象中的封裝性而設計的
    2、PHP本身就是面向對象的語言,工廠函數只是為了防止new關鍵字使用過多,所以在PHP當中的工廠函數這個模式設計的很雞肋,一般不用!
  • JAVASCRIPT與PHP工廠函數