2013-05-03 60 views
2
class A { 
    protected $a; 

    // SOME CODE 
} 


class B extends A { 
    // SOME CODE 
} 

如何編輯B類內變量$ a的受保護值?更改子類中父級變量的值

我試圖使用parent::$a = "Some Value"但無效。

+0

樂於助人,謝謝你hek2mgl。 – 2013-05-03 15:02:22

回答

5

protected實例屬性,那些使用static其中未聲明,可以在子類進行訪問使用$this

class A { 
    protected $a; 

    // SOME CODE 
} 


class B extends A { 
    // SOME CODE 
    public function edit($val) { 
     $this->$a = $val; 
     echo "a is now {$this->a}\n"; 
    } 
} 

呼叫:

$b = new B(); 
$b->edit('foo'); // a is now foo 

參考manual,尤其是例子。

1
class B extends A {  
    public function foo($val) 
    { 
    $this->a = $val; 
    } 
} 

很簡單:)

記住

議員申報保護只能在類 本身和繼承父類

php manual

訪問