在调用超类中声明的函数时引用子类对象

时间:2013-01-15 03:38:30

标签: php

即使从子类调用,如何使函数始终引用它的当前类对象?

以下代码将回显:a

我需要回应b:b

class superclass {

    private $a = 'a';

    public function getObjectVars() {
        return get_object_vars($this);
    }

}

class subclass extends superclass {

    private $b = 'b';

}

$obj = new subclass();

$vars = $obj->getObjectVars();
foreach ($vars as $name => $value) {

    echo $name . ': ' . $value;

}

1 个答案:

答案 0 :(得分:5)

我认为你需要使子类中的变量“受保护”而不是私有,以便父方法访问它们。