抽象类中定义的函数不会返回变量的值

时间:2012-04-30 17:28:06

标签: php inheritance abstract-class instance

如何通过抽象类中定义的函数获取在扩展它的类的实例中更改的抽象类中定义的变量的值?以下代码应该有助于说明我的问题:

抽象类:

abstract class Kontroler {
    private $pogled;
    function __construct(){
    }
    public function pogled(){
        return $this->pogled;
    }
    abstract function defolt();
}

扩展Kontroler的类:

class E404 extends Kontroler{
    function __construct (){
    }
    function defolt(){
        $this->pogled = 'aplikacija/viewsi/404/404.v.htm';
    }
}

我的问题是我在$pogled类的实例中更改了E404的值,但是当我调用$instanceOfE404->pogled();时,PHP返回的值为null,值为{{1在抽象类中定义。这是为什么?

1 个答案:

答案 0 :(得分:2)

父级中的

私有将在父级中保持私有状态 - 子级类看不到它。创建一个getter函数或使其受到保护。

请参阅VisibilityDocs