小编xim*_*rin的帖子

PHP在超类中获取属性方法

我希望我的类从其超类继承getProperties方法.

class Mother {
  function getProperties(){
    return get_class_vars(get_class($this));
  } 
}

class Child extends Mother{
  private $one = 1;
  private $two = 2;
}
Run Code Online (Sandbox Code Playgroud)

问题是如果我在Child上调用getProperties,我得到一个空结果:

 $c = new Child();
 var_dump( $c->getProperties() );
Run Code Online (Sandbox Code Playgroud)

回报 array(0) {}

如果我使用相同的命令覆盖Child中的getProperties方法,它将按预期工作并返回array(2) { ["one"]=> int(1) ["two"]=> int(2) }.所以我认为这$this是解决了Mother类而不是继承该方法的类.我怎样才能让Child以一种我需要它的方式继承该方法?或者我如何改变$this与儿童而不是母亲一起工作的范围?也许我只是在这里错过了非常简单的事实所以任何帮助都会受到赞赏.

php oop

2
推荐指数
1
解决办法
200
查看次数

标签 统计

oop ×1

php ×1