如果我有一个包含静态var的基类,然后我设置这个静态var,然后有一个扩展基类的类,扩展类是否会保留我已经在基类中设置的静态var的值?
问问题
1112 次
1 回答
2
是的,虽然它们是不同的变量,但两个类中的静态变量都在同一个参考集中。
不过,您可以通过使用引用赋值 ( =&
) 或在扩展类中重新声明它来打破这个引用集:
class base {
public static $var;
}
class extended extends base {}
extended::$var = 8; // base::$var == 8
$t = 6;
extended::$var =& $t; // base::$var == 8; extended::$var == 6
class base {
public static $var;
}
class extended extends base {
public static $var;
}
extended::$var = 8; // base::$var == null; extended::$var == 8
于 2011-02-20T19:46:38.427 回答