問題タブ [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.

0 投票する
1 に答える
1928 参照

php - 静的メソッド コードの臭いを取り除くためのリファクタリング

作成する必要がある各ドメイン オブジェクトの現在の基本構造があります。

私は当初、静的メソッドを親 LP_Model クラスにリファクタリングしようとしましたが、PHP の世界で「遅延静的バインディング」が何を意味するのかを最終的に学ぶためだけでした。

作成するすべてのドメイン オブジェクトで同じ 3 つの関数を再宣言する必要がないように、このコードをリファクタリングする方法について誰か提案があるかどうか疑問に思っています。

0 投票する
3 に答える
441 参照

c# - C#でオブジェクト作成インターフェイスの「ルール」を設定するには?

原則として、「T には、List を返す String パラメーターを持つメソッドがあります」と言いたいと思います。詳細に言えば、インターフェイス ICanCreateListOfObjectsFromString を呼び出すことができます。可能なアプリケーションは検索かもしれません。

インターフェイスに静的メソッドがあればいいのにと思いますが、C# ではそれが許可されていないことはわかっています。クラスでこの種のコントラクト実装を指定する別のアプローチは何ですか?

編集:次のコードが必要です:

このコードがコンパイルされない理由はお分かりいただけると思いますが、これは私が達成したいことの精神を表しています。これで私の意図が少し明確になることを願っています。

0 投票する
7 に答える
6655 参照

python - Python クラスを使用する利点はありますか?

静的メソッドでいっぱいの Python クラスがあります。これらを生の関数ではなくクラスにパッケージ化することの利点と欠点は何ですか?

0 投票する
24 に答える
390607 参照

java - Java インターフェイスで静的メソッドを定義できないのはなぜですか?

編集: Java 8 の時点で、インターフェイスで静的メソッドが許可されるようになりました。

次に例を示します。

もちろん、これはうまくいきません。しかし、なぜですか?

考えられる問題の 1 つは、次のように呼び出すとどうなるかです。

この場合、空のメソッド (つまり {}) を呼び出すだけでよいと思います。すべてのサブクラスは静的メソッドの実装を強制されるため、静的メソッドを呼び出すときはすべて問題ありません。では、なぜこれが不可能なのですか?

編集:「Javaはそうなので」よりも深い答えを探していると思います。

静的メソッドを上書きできない特定の技術的な理由はありますか? つまり、なぜ Java の設計者は、インスタンス メソッドをオーバーライド可能にしたが、静的メソッドは作成しないことにしたのでしょうか?

編集:私の設計の問題は、インターフェイスを使用してコーディング規則を適用しようとしていることです。

つまり、インターフェースの目的は 2 つあります。

  1. IXMLizable インターフェイスを使用して、それを実装するクラスを XML 要素に変換できるようにしたいと考えています (ポリモーフィズムを使用すると問題なく動作します)。

  2. 誰かが IXMLizable インターフェイスを実装するクラスの新しいインスタンスを作成したい場合、newInstanceFromXML(Element e) 静的コンストラクターがあることを常に知っています。

インターフェイスにコメントを入れる以外に、これを確実にする方法はありますか?

0 投票する
9 に答える
21449 参照

c# - C# クラスに特定の静的関数を強制的に実装する方法はありますか?

共通のインターフェイスを実装する一連のクラスを開発しています。私のライブラリのコンシューマは、これらのクラスのそれぞれが特定の静的関数のセットを実装することを期待するものとします。関数の1つが実装されていない場合をコンパイラがキャッチできるように、これらのクラスを装飾することはできますか。

消費するコードをビルドするときに最終的にキャッチされることを私は知っています。また、一種のファクトリ クラスを使用してこの問題を回避する方法も知っています。

クラスで静的関数を要求するための構文/属性があるかどうかを知りたいだけです。

Ed混乱を避けるために「インターフェース」という単語を削除しました。

0 投票する
5 に答える
2717 参照

java - このコードが「不正な式の開始」例外を引き起こすのはなぜですか?

これらは私の質問です:

  1. "public static boolean validNumCheck(String num){"-"illegal start of expression"、"';'という行でいくつかのエラーが発生します 期待される」、および「')'期待される」。

  2. 番号ごとに合計3回の試行をユーザーに与えるにはどうすればよいですか?私は今、プログラムがユーザーに3つの数字を要求し、数字を正しくするために合計3回試行することを信じています(私の説明はひどいです...コードを読んで、私が何を意味するのかをよりよく理解してください)。

これは私のコードです: