如何将静态字段绑定到继承的类。
我试过以下:
<?php
interface StaticInitializier {
public static function StaticInit();
}
abstract class ParentClass implements StaticInitializier {
protected static $_foo;
public static function Test() {
echo '<p>' . static::$_foo . '</p>';
}
}
class FirstClass extends ParentClass {
public static function StaticInit()
{
self::$_foo = '42';
}
}
FirstClass::StaticInit();
class SecondClass extends ParentClass {
public static function StaticInit()
{
self::$_foo = '43';
}
}
SecondClass::StaticInit();
class ThirdClass extends ParentClass {
public static function StaticInit()
{
self::$_foo = '44';
}
}
ThirdClass::StaticInit();
FirstClass::Test();
SecondClass::Test();
ThirdClass::Test();
?>
预期
42,43,44
结果
44,44,44
问题是,我想要保护这些字段。由于严格错误,我不能做一个抽象的静态方法。
是Posibble吗?
问候。