ホームページ >バックエンド開発 >PHPチュートリアル >親クラスのマジックメソッドをサブクラスで使用する方法

親クラスのマジックメソッドをサブクラスで使用する方法

WBOY
WBOYオリジナル
2016-06-13 12:03:21965ブラウズ

サブクラスで親クラスのマジック メソッドを使用する方法

この投稿は 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 />
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。