問題タブ [static-methods]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 通常の方法を静的に変換することの利点は何ですか?
質問から明らかなように、通常の方法を静的な方法に変換すると、どのような利益が得られますか?
c# - クラス設計: クラスをオブジェクトとして使用できるようにし、パブリックな静的メソッドを提供することもできます
オブジェクトとしてもパブリックな静的メソッドを介しても使用できる、ばかげた小さなクラス「FileSystemSize 」があります。出力は似ていますが、いずれの場合も同一ではありません。
このクラスは最初はstaticでしたが、多くのパラメーター解析を必要とせずに、将来のバージョンで新しい「便利なメソッド」で拡張できるように、オブジェクトとして初期化する可能性を追加しました。たとえば、 GetKBString ()、GetMBString()など...メソッドを使用して、必要な方法で(文字列として)フォーマットされたファイルサイズを便利に取得できるようにします。内部的に、このクラスはファイルのバイト サイズを double として格納します。
これがまったく理にかなっている場合、私は少し混乱しています。Microsoft が Directory と DirectoryInfo に対して行っているように、これを静的バージョンとオブジェクト バージョンに分割する必要があるようです。ただし、これをすべて1か所にまとめて、間違いのない名前にする方が簡単に思えます.FileSystemSizeが何をするのかは明らかです。予想外のメンテナンスへの影響はありますか? あの匂いは何?
c++ - 名前空間 + 関数とクラスの静的メソッド
関連する一連の関数を持っている、または作成しようとしているとしましょう。それらが数学に関連しているとしましょう。組織的には、次のことを行う必要があります。
- これらの関数を記述し、
MyMath
名前空間に配置して、経由で参照しますMyMath::XYZ()
- というクラス
MyMath
を作成し、これらのメソッドを静的にして、同様に参照します。MyMath::XYZ()
ソフトウェアを整理する手段として、どちらか一方を選択する必要があるのはなぜですか?
c++ - コンパイル時にC ++の静的メソッドと非静的メソッドを区別しますか?
インスタンスを識別するためのトレースの自動化については、次のいずれかを呼び出します。
- その識別子を返す包含オブジェクトの非静的メソッド
- 常に同じIDを返す何か
私の現在の解決策は、メソッド which() と、オブジェクトのコンテキストにない場合に使用する必要があるグローバル関数 which() を持つ基本クラスを持つことです。ただし、これは静的メンバー関数では機能しません。ここでは、コンパイラはグローバル メソッドよりも非静的メソッドを優先します。
簡単な例:
静的メンバー関数の特別なマクロのような回避策の使用を回避することはできますか (テンプレート マジックを使用する可能性があります)。
php - PHP カスタム静的メソッド アクセス
私は PHP を使用しており、名前を変更する必要があるオブジェクトの静的メソッドにアクセスする必要があります。
この前のコードにより、「予期しない構文エラー ::」が表示されます。
{$nomControlleur}::singleton(); も書いてみました。しかし、それは私にさらに多くのエラーを与えています。あなたの助けに感謝します.
鋼球
java - jax-ws Web メソッドは、静的メソッドを持つオブジェクトを返すことができますか?
次のようにWebサービスからこれを返したいと思います:
できるか、すべきか、できないか、すべきでないかについて、決定的な答えが見つからないようです。
immutability - 静的メソッドに対する不変オブジェクトの利点は何ですか?
これを次のように実装することもできます。
静的メソッドよりも不変オブジェクトを選択する必要があるのはいつですか?逆のことが当てはまる状況はありますか?
また、不変オブジェクトにはvoidメソッドを含めるべきではないように思われます。どう思いますか?
c# - パラメータとメソッドでのそれらの使用は、静的/インスタンス設計の決定にどのように影響しますか?
簡単な質問:
インスタンスを変更しない場合、クラスを静的にする必要があることを読みました。したがって、Accountと呼ばれるクラスがあり、Id、Durationなどのプロパティがあり、これらがクラスによって変更されない場合、これを静的にすることができます。そうでない場合は、静的のままにする必要があります。
これは(インスタンス自体がそのプロパティを介して変化するかどうかにかかわらず)静的/インスタンスの決定にどのように影響しますか?
さらに、クラスが大量のパラメーターを受け取るが(たとえば、このAccountクラス、私たちのアナロジーに固執する)、インスタンスを変更しない場合(したがって、Account変数は変更されません-Account.x = y //ここでyは別のクラスからのものです) 、これはまだ静的にすることができると思いますか?それで、問題であるのはパラメータではなく、それらがどこから来ているのか、それは彼らが何をしているのか?
プロパティの場合、フィールドを静的にするかどうかを決定するときと同じ原則が適用されます(たとえば、フィールドが保持するデータの取得にコストがかかる場合は、1つのフィールドに保持させる-静的-間違っている場合は修正してください)。
C#の静的メソッド(これはパラメーターを処理するため、静的メソッドに分類されます)には100を超えるスレッドがあることに気付きました。良い質問と良い答えがあるので、これらすべてを読みます。
ありがとう
java - 大規模なJavaプロジェクトで静的メソッド呼び出しを見つける方法は?
一部の Java コードをリファクタリングして、一部の静的メソッド呼び出しを非静的呼び出しに変更することで、より分離します。たとえば、次のようになります。
私の問題は、大規模なプロジェクトでは、静的メソッド呼び出しが行われている場所を見つけるのが難しい場合があることです。コマンドラインまたはEclipseでこれを行う簡単な方法はありますか?
このようなツールでは、次のような「無害な」静的メソッド呼び出しを無視できるようにする必要があります (最初から見つからないか、検索結果から簡単に削除できるようにすることにより)。
いくつかの説明:
- リフレクションを介して行われたメソッド呼び出しを見つけることに興味はありません
- このプロジェクトに現在どの静的メソッドが存在するかはわかりません。そのため、Eclipse の「Open Call Hierarchy」コマンド (Ctrl-Alt-H) を使用して呼び出し元を検索するのは簡単ではありません。静的メソッドにより、このアプローチを使用できます
- プロジェクト外にある静的メソッドの呼び出しを見つけることにも興味があります。たとえば、javax.mail.Transport#send などです。
- 無料の (ビールのような) ソリューションを探しています