サブクラス オブジェクト
のパブリック プロパティにアクセスする親クラス メソッドに関する問題を次の図に示します。
------解決策のアイデア------ -- -------------
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 つの値は同じです