时时商务社区

标题: php中类和对象:静态属性、静态方法 [打印本页]

作者: 网络通达    时间: 2018-2-14 05:26

            在PHP中,使用关键字 static 修饰成员属性和成员方法被称为静态属性和静态方法。静态属性和静态方法不需要在类被实例化的情况下可以直接使用。
静态属性
与普通的成员属性不同,静态属性属于类本身而不属于类的任何实例。静态属性可以被看做是存储在类当中的全局变量,可以在任何地方通过类来访问它们。
由于静态属性不受任何具体对象的限制,所以不需要建立类实例,而可以直接引用类中的静态属性,使用语法格式如下:
类名称:静态属性名称
其中,符号”::”被称作范围解析操作符,它可以用于访问静态成员、静态方法和常量,还可以用于覆盖类中的成员和方法。
如果想在同一类的成员方法中访问静态属性,可以通过在该静态属性的名称前加上操作符”self::”来实现。例子如下:
class DaBing{
  static $bing=0;   //定义静态属性 bing
  function addOne(){
    self:bing++;    //调用同一类中的静态属性 bing
    echo"\$bing的值为:".self:bing++;
  }
}
$obj=new DaBing();
$obj->addOne();
该程序使静态属性的值加1,执行结果为:1
静态方法
在PHP中将成员方法声明为静态,就称其为静态方法。由于静态方法不受任何具体对象的限制,所以不需要建立类实例就可以直接引用类中的方法。语法格式如下:
类名称::静态方法名称([参数1,参数2,……])
与调用静态属性相同,在类中使用操作符”self::”来表示调用同一类中的静态方法,例子如下:
class DaBing{
  static function addOne($number){ //定义静态方法 addOne()
    echo"\$number+1=";
    echo $number+1;
  }
  static function showResult($number){
    echo"\$number=".$number;
    echo"
";
    self::addOne($number); //调用同一类中的静态方法 addOne()
  }
}
$number=100;
DaBing::showResult($number);
该程序执行的结果为:
$number=100
$number+1=101
            
            
您可能感兴趣的文章:
  • PHP 5.0对象模型深度探索之属性和方法
  • php class中public,private,protected的区别以及实例分析
  • 浅析php面向对象public private protected 访问修饰符
  • php面向对象中static静态属性和静态方法的调用
  • php面向对象中static静态属性与方法的内存位置分析
  • 浅谈php中的访问修饰符private、protected、public的作用范围
  • PHP实现删除多重数组对象属性并重新赋值的方法
  • 如何直接访问php实例对象中的private属性详解
  • PHP实现在对象之外访问其私有属性private及保护属性protected的方法
            




    欢迎光临 时时商务社区 (http://bbs.4435.cn/) Powered by Discuz! X3.2