2017-02-04 15 views
-3

ここには改訂版があります。私は子供から親クラスのプロパティにアクセスしようとしましたが、これもousideからでしたが、ほとんど成功しませんでした。どのように継承された子から親の変数にアクセスするには、そのトピックへの多くの混乱の答えがあります。私はこのために構築を呼び出す必要がありますか?オブジェクトがすでにインスタンス化された後に値を渡すことにした場合はどうすればいいですか?静的変数を宣言すると、外部から値を渡すことはできません。 parent ::、self ::およびwhen this this->を使用する場合。単一のクラス/オブジェクトにアクセスすると、すべてがより簡単に見えますが、子が関わっているときは、もう何も働きません。ありがとう、ここでは私が遂行したいと思っているサンプルコードだけです。あなたの親クラスでPHP OOP - 子クラス内から親プロパティにアクセスする方法

define('BR', '<br>'); 

class User { 
    public $age; 
    public $name = null;  

    public function enterValue($i) { 
     $this->name = $i; 
    } 

    public function getOut() { 
     echo $this->name; 
    } 
} 

class Teacher extends User { 
/* public function school() { doesn't work 
     return parent::$name; 
    } 
*/ 
} 


$person = new User();  
$person->age = 25; 
$person->enterValue('Michael');  

$math = new Teacher();  

echo $math->name . BR; 
echo $math->age . BR; 
$math->getOut(); 
// echo $math->school(); doesn't work 

var_dump($math); 
var_dump($person); 
+0

具体的なコード例を偶然投稿できますか?それは答えを公式化することをより容易にするかもしれない。 –

+0

現在の状態での質問は不明瞭すぎる/広すぎる。あなたのコードを投稿してください。 –

+1

よく、何でも。あなたの無知はちょうどあなたのために誰かに下落してしまいました。それのための私のdownvoteではない。 –

答えて

-1

、あなたは変数宣言した場合:

  1. private $var = 'abc';は - それが唯一の
  2. $objは、親クラスのオブジェクトである)親クラスから$this->varまたは$obj->var介してアクセス可能ですprotected $var = 'abc'; - privateと同じです。さらに、子孫クラスからアクセス可能です
  3. public $var = 'abc'; -と同じです10、さらに別のクラスからアクセス可能です
関連する問題