我正在尝试创建一个具有设置属性/数组的抽象类,然后在子类中向该属性/数组添加其他属性。我希望抽象类中定义的方法在从子类调用方法时使用子类属性/数组。我认为下面的代码应该可以工作......但它似乎仍在从父类访问该属性。
abstract class AbstractClass {
protected static $myProp;
public function __construct() {
self::$myProp = array(
'a' => 10,
'b' => 20
);
}
protected function my_print() {
print_r( self::$myProp );
}
}
class ClassA extends AbstractClass {
protected static $myProp;
public function __construct() {
parent::__construct();
self::$myProp = array_merge( parent::$myProp,
array(
'c' => 30,
'd' => 40
)
);
$this->my_print( self::$myProp );
}
}
$myObj = new ClassA;
这应该返回 Array ( [a] => 10 [b] => 20 [c] => 30 [d] => 40 ) 而不是返回 Array ( [a] => 10 [b] => 20 )
我怎样才能让它工作?!?