首页 > 语言 > PHP > 正文

php中类和对象:静态属性、静态方法

2024-09-04 11:43:52
字体:
来源:转载
供稿:网友

在PHP中,使用关键字 static 修饰成员属性和成员方法被称为静态属性和静态方法。静态属性和静态方法不需要在类被实例化的情况下可以直接使用。

静态属性

与普通的成员属性不同,静态属性属于类本身而不属于类的任何实例。静态属性可以被看做是存储在类当中的全局变量,可以在任何地方通过类来访问它们。

由于静态属性不受任何具体对象的限制,所以不需要建立类实例,而可以直接引用类中的静态属性,使用语法格式如下:

类名称::$静态属性名称

其中,符号”::”被称作范围解析操作符,它可以用于访问静态成员、静态方法和常量,还可以用于覆盖类中的成员和方法。

如果想在同一类的成员方法中访问静态属性,可以通过在该静态属性的名称前加上操作符”self::”来实现。例子如下:

  1. classDaBing{ 
  2.  
  3.   static$bing=0;  //定义静态属性 bing 
  4.  
  5.   functionaddOne(){ 
  6.  
  7.     self::$bing++;   //调用同一类中的静态属性 bing 
  8.  
  9.     echo"/$bing的值为:".self::$bing++; 
  10.  
  11.   } 
  12.  
  13.  
  14. $obj=newDaBing(); 
  15.  
  16. $obj->addOne(); 

该程序使静态属性的值加1,执行结果为:1

静态方法

在PHP中将成员方法声明为静态,就称其为静态方法。由于静态方法不受任何具体对象的限制,所以不需要建立类实例就可以直接引用类中的方法。语法格式如下:

类名称::静态方法名称([参数1,参数2,……])

与调用静态属性相同,在类中使用操作符”self::”来表示调用同一类中的静态方法,例子如下:

  1. classDaBing{ 
  2.  
  3.   staticfunctionaddOne($number){//定义静态方法 addOne() 
  4.  
  5.     echo"/$number+1="
  6.  
  7. echo$number+1; 
  8.  
  9.  
  10. staticfunctionshowResult($number){ 
  11.  
  12. echo"/$number=".$number
  13.  
  14. echo
  15. "; 
  16.  
  17. self::addOne($number);//调用同一类中的静态方法 addOne() 
  18.  
  19.  
  20.  
  21. $number=100; 
  22.  
  23. DaBing::showResult($number); 

该程序执行的结果为:

$number=100 $number+1=101

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表