PHP OOP - 静态属性
PHP - 静态属性
静态属性可以直接调用,而无需先创建类的实例。
静态属性使用 static
关键字声明:
语法
<?php
class ClassName {
public static $staticProp = "W3School";
}
?>
如需访问静态属性,请使用类名、双冒号 (::
) 和属性名:
语法
ClassName::$staticProp;
让我们看一个例子:
实例
<?php
class pi {
public static $value = 3.14159;
}
// Get static property
echo pi::$value;
?>
例子解释
在这里,我们声明了一个静态属性:$value
。然后,我们使用类名、双冒号 (::
) 和属性名(无需先创建类)来输出静态属性的值。
PHP - 关于静态属性的更多信息
一个类可以既有静态属性也有非静态属性。静态属性可以在同一类的其他方法中使用 self
关键字和双冒号 (::
) 来访问:
实例
<?php
class pi {
public static $value=3.14159;
public function staticValue() {
return self::$value;
}
}
$pi = new pi();
echo $pi->staticValue();
?>
要从子类调用静态属性,请在子类内部使用 parent
关键字:
实例
<?php
class pi {
public static $value=3.14159;
}
class x extends pi {
public function xStatic() {
return parent::$value;
}
}
// 直接通过子类获取静态属性的值
echo x::$value;
// 或者通过 xStatic() 方法获取静态属性的值
$x = new x();
echo $x->xStatic();
?>