ホームページ >バックエンド開発 >PHPチュートリアル >サブクラスは親クラスを継承し、親クラスはプライベートクラスです。聞いたら詳しく教えてください。

サブクラスは親クラスを継承し、親クラスはプライベートクラスです。聞いたら詳しく教えてください。

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-23 14:14:23805ブラウズ

このコードでは親クラスにプライベートメソッドがあるのですが、サブクラスに同じ名前のメソッドを書いてしまった場合はPHPのルールではないでしょうか?どちらにもパラメータがある場合、エラーが報告されます。「なぜ?」という質問は表示されません。 。 。 。 。


ディスカッションへの返信 (解決策)

これら 2 つのメソッドは独立しているようですが、なぜエラーを報告しなければならないのでしょうか? 非常に憂鬱になります

プライベート
は不可侵です

プライベート、継承は許可されていますが、クラス A で text() をプライベートに設定しているため、ダウンロードはクラス C に継承されますが、text() を呼び出すパブリック メソッドを追加すると実行できません。次に、それをクラス C で呼び出して、機能するかどうかを確認します。司会者は本当にショックを受けていました。

つまり、実際には継承されていますが、実行することはできません

いいえ。

<?php class A{		private function test($n){		echo "11";	}}class B extends A{	function test(){		echo "22";			}}class C extends A{}$b1=new B();$b1->test();?>
Array
(
)
Array
(
[0] => test
)
Array
(
)

private メソッドは単に操作不能であり、それが使用できない場合は消滅します
が必要です。オブジェクト指向の概念を理解するには、B が A を継承するという概念は、B は A のより具体的なバージョンであり、B は A であるということです。A が持っているものは何でも、B も持つことになります

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