單態設計模式:(最終只能得到一個對象)--靜態方法應用實例

  1. 靜態方法用於不需要實例化的情況,通俗來講一個類是數據和操作該數據的方法的集合,很多類的具體數據有時候是根據不同的實例有不同的值的,這個時候使用這個類就要實例化,要先new 一個對象出來,再對該對象進行操作。這個類就是非靜態的,因爲類數據是變化的。
    但也有些類的數據是固定不變的,也就是說實例化有否不影響數據,那麼這個時候就可以直接調用這個類,這個類就可以定義爲靜態。這個時候調用靜態方法時就不需要new一個對象了,而是直接調用類。

  2. 或者是方法的數據固定不變使用靜態方法??

  3. <?php  
  4. header("content-type:text/html;charset=utf-8");  
  5.   
  6. class A{  
  7.     public static $link = null;  
  8.   
  9.     public function __construct(){  
  10.         echo '鏈接數據庫';  
  11.     }  
  12.   
  13.     public static function getconnect(){  
  14.         if(is_null(self::$link)){  
  15.             return self::$link = new A;  
  16.         }else{  
  17.             return self::$link;  
  18.         }  
  19.     }  
  20. }  
  21.   
  22. $a = A::getconnect();  
  23. echo '<br>';  
  24. $b =  A::getconnect();  
  25. if($a === $b){  
  26.     echo 'Y';  
  27. }else{  
  28.     echo 'N';  
  29. }  
  30.   
  31. 結果:  //證明這是同一個對象。  
  32. 鏈接數據庫  
  33. Y  
發佈了0 篇原創文章 · 獲贊 11 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章