答えて
私がいない私は、親クラスにサブクラスで親クラスが呼び出されたかどうかを検出することができます.How私はparent::__construct();
と私のサブクラスの親クラスを呼び出します私はあなたの質問を理解しているかどうかを知るが、私の提案は親クラスでget_called_class
を使用して、前述の静的変数をテストし、その後子クラスでは、私の場合$CHILD
には、true
の静的変数を設定することです。 @icecubは親」のコンストラクタからのみアクセス
これは質問に答えますが、かなり悲惨なコード/デザインです。ベースクラスは、どのように拡張されているか、どのように拡張されているか、どのように拡張されているのかを考慮してはなりませあなたは本当にこのような練習を奨励したいですか?より良いアプローチは、OPからより多くを訴えることでした。なぜ彼らは彼らがこの要件を持っていると思っているのか理解することができます。これに基づいてダウン投票する。 –
答えを求めている人には、私のビジネスの中には何もないし、あなたのものであるべきでもない。これはQ&Aフォーラムであり、未解決のサイトではありません。ところで、聞いている人は私には初心者のようではありません。次回は質問に答えてからアドバイスを提供するだけです。 @AdamCameron – KBJ
スニッピーな友達を見つける必要はありません。 OP def *は、このような枠組みの質問をしているのなら、OOの職人だと思います。おそらくそうではありませんが、それは疑問を抱くようです。ときには - たいていは - 誰かが質問をするときに、質問することを意味する質問をしていないし、これを察知するために何らかの努力を要する。最終的に私たちは人々を助けるためにここにいる*だけでなく、盲目的に "Q&Aサイトであるので質問に答える"ことができます。 –
- 1. サブクラスの静的メソッドを親クラスから呼び出す
- 2. プライベート親クラスを内部クラスの親として使用するにはどうすればよいですか?
- 3. サブクラスで親クラスの保護されたメソッドを使用するにはどうすればよいですか?
- 4. 親クラスから子メソッドを呼び出すにはどうすればよいですか?
- 5. CGRectZeroでUIViewクラスまたはサブクラスでinitWithFrameを呼び出すとはどういう意味ですか?
- 6. 親クラスの参照変数を使用して呼び出すときに、サブクラスから呼び出されるオーバーライドされたインスタンスメソッドはなぜですか?
- 7. shared_ptrをある親クラスから別の親クラスにキャストするにはどうすればよいですか?
- 8. 親タブが閉じているかどうかを検出するには
- 9. 親クラスのサブクラスのプライベートメソッドを、レールの親クラスに含まれるモジュールから呼び出すことはできますか?
- 10. あるクラスから別のクラスへKeyEventメソッドを呼び出すにはどうすればよいですか?
- 11. あるクラスから別のクラスにメソッドを呼び出すにはどうすればよいですか?
- 12. 親クラスと子クラスの静的コンストラクタはどのような順序で呼び出されますか?
- 13. 別のクラスのJavaクラスから変数を呼び出すにはどうすればいいですか?
- 14. 複数のサブクラスでクラス値をデフォルトとして使用するにはどうすればよいですか?
- 15. Javaで親抽象コピーコンストラクタを使用してサブクラスをコピーするにはどうすればよいですか?
- 16. Fieldサブクラスで「削除」キーを検出するにはどうすればよいですか?
- 17. コピーコンストラクタを含むクラスのパラメータコンストラクタをプライベートとして呼び出すにはどうすればよいですか?
- 18. 別のクラスから接続クラスを呼び出すにはどうすればよいですか?
- 19. クラス内のオブジェクト内からクラス関数を呼び出すにはどうすればよいですか?
- 20. プロキシまたはターゲットからプロキシゲッターが呼び出されているかどうかを検出する
- 21. サブクラスがオーバーライドされた親のインタフェースメソッドを呼び出さない
- 22. JavaScriptで親オブジェクトを使用して子メソッドを呼び出すにはどうすればよいですか?
- 23. 既にロックされたコードブロックをクラスから呼び出すにはどうすればいいですか?
- 24. 静的メソッドを呼び出すクラスとメソッドを取得するにはどうすればよいですか?
- 25. Rscriptは、Rスクリプトが別のスクリプトから呼び出されているかどうかを検出します。
- 26. JavaScriptで親クラスと子クラスを宣言するにはどうすればよいですか?
- 27. 親コンポーネントからDrawerLayoutAndroidのopenDrawer関数を呼び出すにはどうすればよいですか?
- 28. 1つのクラスを別のクラスのサブクラスに移行するにはどうすればよいですか?
- 29. Java - 親クラスが子クラスからメソッドを呼び出していますか?
- 30. はPythonでサブクラスは親クラスのデコレータ
'民間static'変数を示唆したよう
別のアプローチは、debug_backtraceを使用するのでしょうか?それは 'private 'なので、アクセスまたはオーバーライドされません。 –
[debug_backtrace](http://php.net/debug_backtrace)を見てみたいと思います。 Afaikは、関数/メソッド呼び出しがどこから来ているかを「検出」する唯一の方法です。 – icecub
これを行う必要がある理由を説明すると役に立ちます。あなたがこれを行う必要がある場合、あなたのモデリングが少しオフかもしれないように説明がなければ少し音がするが、確かに良い理由があると確信している。 –