我希望我的类从其超类继承 getProperties 方法。
class Mother {
function getProperties(){
return get_class_vars(get_class($this));
}
}
class Child extends Mother{
private $one = 1;
private $two = 2;
}
问题是,如果我在 Child 上调用 getProperties,我会得到一个空结果:
$c = new Child();
var_dump( $c->getProperties() );
返回array(0) {}
如果我用相同的命令覆盖 Child 中的 getProperties 方法,它会按预期工作并返回array(2) { ["one"]=> int(1) ["two"]=> int(2) }
. 所以我认为这$this
被解析为 Mother 类,而不是继承该方法的类。如何让 Child 以我需要的方式继承该方法?或者我如何改变$this
与孩子而不是母亲一起工作的范围?也许我只是在这里遗漏了非常简单的事实,因此感谢您的帮助。