1、Static 静态声明
在前面的课件中,我们不是有多次提起过,在成员属性 和 成员函数定义时,带有修饰符的声明。
而 static (静态声明)关键字,就是修饰符中的一种。
其作用是,可以让Class在不实例化的情况下调用,
调用格式是,直接使用:类名::方法名的方式进行调用。
同时,静态属性不允许Class类使用 -> 操作符访问,而是使用self::操作符代替访问。
案例代码如下:
<?php
class Test {
public static $HP = 100; // 血量
public static $AD = 5; // 攻击力
# 调用这个攻击
public static function Battle() {
self::$HP = self::$HP - self::$AD;
echo '受到攻击剩余血量为:'.self::$HP.'<br/>';
}
}
echo '初始血量是:'.Test::$HP.'<br/>';
echo '初始攻击力是:'.Test::$AD.'<br/>';
Test::Battle();
Test::Battle();
Test::Battle();
Test::Battle();
注意:
在使用了static修饰符的成员函数中,不能使用$this->操作符调用任何,
没有使用static修饰符的成员函数或者成员属性,否则PHP将会报错,
如下列代码:
<?php
class Test {
public $HP = 100; // 血量
public static $AD = 5; // 攻击力
# 调用这个攻击
public static function Battle() {
$this->$HP = $this->$HP - self::$AD;
echo '受到攻击剩余血量为:'.$this->$HP.'<br/>';
}
}
Test::Battle(); // 将会报错