2011-01-30 6 views
0

異なる値を持つ子クラスから保護された変数にアクセスするにはどうすればよいですか?間違ったアクセスへPHP:別の値を持つ場合、子クラスから保護された変数にどのようにアクセスできますか?

例:親:: $ _は私、あなたがサブクラスのインスタンスを作成するときには、単に必要なので

class Father{ 
    protected $_my=array('a','b'); 
} 

class Child{ 
    protected $_my=array('c','d'); 
    function __construct(){ 
    parent::__construct(); 
    $this->_my=array_merge(parent::$_my,$this->_my); 
    } 
} 

おかげで、 Yosef

+1

クラスが別のクラスから継承されるようにするには、 'class Child extends Father'のように' extends'キーワードを使用する必要があります –

+1

保護された変数は子供がアクセスできます。 'Child'の' $ _my'は 'Father'に設定された値を上書きします –

答えて

3

$this->_myは、親から継承されますエラーが発生します使用する:

$this->_my = array_merge($this->_my, array('c','d')); 
+0

私のアプリケーションで書いたことは知っていますが、どうすれば親と呼ぶことができますか? – Yosef

+0

Chrisが述べたように、 '$ _my'は親から子に継承されます。そのすべてが同じで、 "親の財産"はありません。 '$ this - > _ my'を介して他のプロパティと同様にアクセスします。 – KingCrunch

1

デザインに問題があります。あなたはすでに親の中の子供がアクセスできる変数を宣言しています。

既存の変数に再定義するのではなく、値を追加してみます。

関連する問題