单态设计模式:(最终只能得到一个对象)--静态方法应用实例

[php]  view plain  copy
  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  

猜你喜欢

转载自blog.csdn.net/gaisidewangzhan1/article/details/80271382