靜態方法用於不需要實例化的情況,通俗來講一個類是數據和操作該數據的方法的集合,很多類的具體數據有時候是根據不同的實例有不同的值的,這個時候使用這個類就要實例化,要先new 一個對象出來,再對該對象進行操作。這個類就是非靜態的,因爲類數據是變化的。 但也有些類的數據是固定不變的,也就是說實例化有否不影響數據,那麼這個時候就可以直接調用這個類,這個類就可以定義爲靜態。這個時候調用靜態方法時就不需要new一個對象了,而是直接調用類。
或者是方法的數據固定不變使用靜態方法??
- <?php
- header("content-type:text/html;charset=utf-8");
- class A{
- public static $link = null;
- public function __construct(){
- echo '鏈接數據庫';
- }
- public static function getconnect(){
- if(is_null(self::$link)){
- return self::$link = new A;
- }else{
- return self::$link;
- }
- }
- }
- $a = A::getconnect();
- echo '<br>';
- $b = A::getconnect();
- if($a === $b){
- echo 'Y';
- }else{
- echo 'N';
- }
- 結果: //證明這是同一個對象。
- 鏈接數據庫
- Y
單態設計模式:(最終只能得到一個對象)--靜態方法應用實例
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.