この投稿は meenw によって最終編集されました: 2014-07-29 12:47:44 親クラス: P
<br />class P{<br /> private $name="";<br /> function __construct(){<br /> $this->name="hello";<br /> }<br /> public function __set($name, $value){ <br /> $this->$name=$value; <br /> }<br /> public function showName(){<br /> echo $this->name;<br /> }<br />}<br />
子クラス: C
class C extends P{<br /> function __construct(){<br /> parent::__construct();<br /><br /> //想在这里给P类的$name换个值(你好)怎么做?<br /> } <br />}
$c=new C;
$c->showName;
次に出力: Hello
これを実現するにはどうすればよいですか?
------解決策---------class P{<br /> private $name="";<br /> function __construct(){<br /> $this->name="hello";<br /> }<br /> public function __set($name, $value){ <br /> $this->$name=$value; <br /> }<br /> public function showName(){<br /> echo $this->name;<br /> }<br />}<br />class C extends P{<br /> function __construct(){<br /> parent::__construct();<br /> $this->name = '你好';<br /> } <br />}<br />$c=new C;<br />$c->showName();<br /><br />print_r($c);
こんにちは
C オブジェクト
(
[name:P:private] => こんにちは
)
------解決策---------- ---- ------<br />class P{<br /> private $name="";<br /> function __construct(){<br /> $this->name="hello";<br /> }<br /> public function __set($name, $value){<br /> $this->$name=$value;<br /> }<br /> public function showName(){<br /> echo $this->name;<br /> }<br />}<br /><br /><br />class C extends P{<br /> function __construct(){<br /> parent::__construct();<br /> //想在这里给P类的$name换个值(你好)怎么做?<br /> $this->name = '你好';<br /> }<br />}<br /><br />$obj = new C();<br />$obj->showName();<br />