PHP 對象 單態(單例,單件)設計模式 static

<?php
header('content-type:text/html;charset=utf-8');
/*
 *單態設計模式 單例  單件
 *一個類只能創建一個對象 
 *1.如果想讓一個類,只能有一個對象,就要先讓這個類不能創建對象,將構造方法private
 *2.可以在類的內部使用一個靜態方法來創建對象
 */

    class Persion{
        //使用靜態成員實現單態設計
        static $obj = null;
        private function __construct(){
            
        }
        static function getObj(){
            //如果第一次調用時沒有對象,則創建,以後調用時,直接使用第一次創建的對象
            if(is_null(self::$obj))
            self::$obj = new self;//self就代表類名自己
            return self::$obj;
        }
        function say(){
            echo '我是中國人';
        }
        
        function __destruct(){
            echo '析構方法釋放資源<br/>';
        }
    }
    $p = Persion::getObj();
    $p = Persion::getObj();
    $p ->say();


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章