ホームページ  >  記事  >  バックエンド開発  >  サブクラス オブジェクトのパブリック プロパティにアクセスする親クラス メソッドに関する関連問題

サブクラス オブジェクトのパブリック プロパティにアクセスする親クラス メソッドに関する関連問題

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

サブクラス オブジェクト
のパブリック プロパティにアクセスする親クラス メソッドに関する問題を次の図に示します。

------解決策のアイデア------ -- -------------
private $_name = 'Han'; は親クラスのプライベート属性であるため、サブクラスはその値を変更できません。
showName は親クラスのメソッドなので、親クラスの $_name = 'Han'; が出力されます。

プライベートを保護またはパブリックに変更するだけです。


-----解決策のアイデア----------------------
あなたはエコーします'
Class:'.get_class($this).',Method:'.__METHOD__;
echo '
Class:'.__CLASS__ .',Method:'.__METHOD__;
結果からわかります

p1=10,_name=Kang
p1=10,_name=Han
Class:Han、method :Han::showName

Kong は Han のメソッド showName (__METHOD__ は Han::showName) を継承しますが
それでも Han クラスで動作するため、$this->_name は Han: :_name となり、常に
If Han::_name がプライベートではない場合、Kong::_name は Han::_name
をオーバーライドしますが、 $this->_name が Kong::_name にアクセスするという意味ではなく、実際には Han::_name のままです。 、しかし 2 つの値は同じです

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