php 類的屬性--???

<?php


class Car {

    private function __construct() {
        echo 'object create';
    }

    private static $_object = null;
    public static function getInstance() {
        if (empty(self::$_object)) {
            self::$_object = new Car(); //內部方法能夠調用私有方法,所以這裏能夠建立對象
        }

        return self::$_object;
    }

}



//$car = new Car();           //private 構造函數,這裏不容許直接實例化對象
$car = Car::getInstance(); //經過靜態方法來得到一個實例


/***
 * 若是構造函數定義成了私有方法,則不容許直接實例化對象了,這時候通常經過靜態方法進行實例化,
 * 在設計模式中會常用這樣的方法來控制對象的建立,好比單例模式只容許有一個全局惟一的對象。
*/

?>
相關文章
相關標籤/搜索