2012-04-30 37 views
0

如何獲取抽象類中定義的變量的值,該變量在擴展它的類的實例中通過抽象類中定義的函數進行更改?下面的代碼應有助於說明我的問題:在抽象類中定義的函數不會返回變量的值

抽象類:

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

我的問題是,我改變的一個實例內的$pogled值:擴展Kontroler

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

E404類,但是當我調用$instanceOfE404->pogled();時,PHP將返回null值,該值是抽象類中定義的$pogled的值。爲什麼是這樣?

+0

如果您將$ pogled聲明爲protected,而不是private,那麼它是否按預期工作? –

回答

2

私人在父母將保持私人在父母 - 孩子班級沒有看到它。創建一個getter函數或使其受到保護。

請參閱VisibilityDocs

+0

保護它不是。謝謝! – Jinx