public static function
またはprivate static function
を単にpublic function
またはprivate function
の代わりに使用する利点は何ですか?PHP | public/private関数の代わりにpublic static/private static関数を使うべきですか?
7
A
答えて
22
定義されているクラスのインスタンスに対して、通常のメソッド(通常はインスタンスメソッドと呼ばれます)が呼び出されます。メソッドは常に$this
を介してそのオブジェクトにアクセスするため、そのオブジェクトによって運ばれたデータで動作します(実際にはそれを変更できます)。これはオブジェクト指向プログラミングの中核的な側面であり、クラスを単なるデータの集合以上にするものです。
静的メソッドの呼び出しは、特定のオブジェクトに関連付けられていません。この点では、通常の関数と同じように動作します。実際には唯一の違いはprivate
とマークされていて、そのクラスを所有するインスタンスのプライベートメソッドと変数にアクセスできることです。静的関数は、実際には手続き型プログラミングの拡張です。
は、例えば、インスタンスメソッドは、オブジェクト上で呼び出された:
$result = MyClass::myStaticMethod();
関連する問題
- 1. 関数ポインタの代わりに値(?)で関数を渡す?
- 2. php関数openssl_verify()の代わりにColdfusionがありますか?
- 3. Knockout.jsカスタム関数を返す関数の代わりに、値
- 4. 受信したパラメータをasp.net 4.0のpublic static関数でローカルパラメータに代入する必要がありますか?
- 5. jqueryにファイルの代わりにPHP関数を渡す$ postメソッド
- 6. jQueryのis()関数の代わりに?
- 7. Goの関数オーバーロードの代わりに?
- 8. jqueryのロード関数の代わりに
- 9. NSWindow setFrame:.. animated:YES]関数をアニメーション化する代わりに、代わりにアニメーションを使用できますか?
- 10. テーブルの代わりにビューでMage :: getModel関数を使用できますか?
- 11. ホバー関数jQueryの代わりにトグル
- 12. コピー&ペーストプログラミングの代わりに関数
- 13. URLDownloadToFile関数の代わりに
- 14. python:匿名関数の代わりに
- 15. PHPのmysqli_real_escape_string()関数をいつ使うべきですか?
- 16. getter関数の代わりにconst参照を使用できますか?
- 17. ボトルフレームワークとOOP、関数の代わりにメソッドを使用する
- 18. のpublic static変数値
- 19. xhr.overrideMimeType()関数の代わりにクロスブラウザーがありますか?
- 20. C++ - 仮想関数の代わりにテンプレートを使用
- 21. 関数の代わりにpublicプロパティを使用してカスタムコレクションを公開する理由<T>
- 22. メンバ関数以外の非フレンド関数をいつ使うべきですか?
- 23. セマフォの代わりにintrensicのアトミック関数の使用
- 24. SQL関数の#Tempテーブルの代わりに使用できるもの
- 25. 複数の代わりに単一の関数を使用するJQuery
- 26. Cでマクロの代わりに関数を呼び出す
- 27. ショートコードの代わりに関数を使用してライトボックスフォームプラグインで渡すMailchimpフォーム
- 28. sscanfの代わりに何を使うべきですか?
- 29. LoadWithPartialName()の代わりに何を使うべきですか?
- 30. セッションの代わりに何を使うべきですか?
これは利点や欠点の問題がありません:
静的メソッドは、クラス自体で呼び出されます。また、サイトを検索しましたか? – BoltClock
静的メソッドを使用するオブジェクトを作成する必要はありません。また、多くの関連する質問があります。 – meze
はい、私はPHPマニュアルのサイトからいくつかを読んでいましたが、静的メソッドを使う理由を理解していないようですが、私はこの ' - ' 'これを行うことができます:: ::'その他の情報私はPHPマニュアルサイトの静的メソッドについて読んでいます... – Roland