PHP静态变量、成员、方法

来源:互联网 发布:数据统计表怎么算时间 编辑:程序博客网 时间:2024/05/22 14:22


PHP静态变量、成员、方法

1、静态变量是只存在于函数作用域中的变量,注释:执行后这种变量不会丢失(下次调用这个函数时,变量仍会记着原来的值)。定义静态变量的方法只需要在变量前面加上static关键字即可。

2、静态成员是一种类变量,可以把它看成属于整个类而不是类的某个实例。与一般实例变量不同之处:静态成员只保留一个变量值,而这个变量值对所有的实例是有效的(所有的实例都共享这个成员)。 

3、静态方法:静态方法的规则和静态变量是相同。使用static关键字可以将方法标记为静态方法,通过类的名称和作用域限定符(::)(paamayim nekudotayim)可以访问到静态方法. 


Java代码  收藏代码
  1. <?php  
  2.     var_dump("Hellow word!");  
  3.     /** 
  4.      * 测试例子 
  5.     */  
  6.     class myObject{  
  7.         public static $myStaticVar = 0//声明一个共用静态的变量myStaticVar赋初始值0  
  8.         function myMethod(){  
  9.             self::$myStaticVar += 2;  
  10.             echo self::$myStaticVar . "\n";  
  11.         }  
  12.         static function myMethod2(){  
  13.             self::$myStaticVar += 2;  
  14.             echo self::$myStaticVar . "\n";  
  15.         }  
  16.   
  17.     }  
  18.       
  19.     class MyOtherObject extends myObject{  
  20.         public static $myStaticVar = 0//重写了myStaticVar  
  21.         function myOtherMethod(){  
  22.             echo parent::$myStaticVar ."\n";//parent访问夫类  
  23.             echo self::$myStaticVar . "\n";//self访问当前类  
  24.         }  
  25.     }  
  26.       
  27.     $instance1 = new myObject(); //实例化myObject  
  28.     $instance1->myMethod();  
  29.     $instance2 = new myObject();  
  30.     $instance2->myMethod();  
  31.     $instance3 = new MyOtherObject();  
  32.     $instance3->myOtherMethod();  
  33.       
  34.     echo myObject::$myMethod2();//  
  35. ?> 

     转自:http://www.cnblogs.com/mrray/archive/2011/03/28/1998014.html