問題タブ [static-classes]

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 投票する
2 に答える
1219 参照

c# - C# でグローバル オブジェクトに静的クラスを使用する

粒子のリストを使用しています。

通常、このリストをシミュレーション クラスに配置します。粒子の位置、速度、およびその他のプロパティを計算します。

他のいくつかのクラスでは、出力および後処理のためにこのパーティクル データが必要です。

静的クラスを作成してもよろしいですか。

他のクラスから粒子データにアクセスするには?

0 投票する
2 に答える
657 参照

.net - 静的クラス/メンバーはどこに割り当てられますか?

静的クラスについての真実を見つけようとしてから長い時間が経ちました。私のポイントは、 new 演算子を使用する場合、値型はスタックに割り当てられ、参照型はヒープに割り当てられるということです。しかし、静的クラスの性質上、そのインスタンスを作成することはできず、値型ではないことを確認してください。CLR が静的コンテンツ用のメモリをいつ、どこに割り当てるのかという質問があります。いつ...コンパイル中、アセンブリがビルドされたときだと思いますが、よくわかりません。そしてどこについて...私が見つけようとしていたときに、J.Richterの「C#経由のCLR」を読んで、彼は書いた、インスタンスクラスの静的メソッドは、その特定のインスタンスを作成しているときにヒープに割り当てられますクラス (型オブジェクト ポインターと同期ブロック インデックスと共に)。しかし、私はそれを取得しません。それは静的です。べきだ」t はオブジェクトの状態に依存します。ですから、私を軽くしてください。

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

java - Javaの別のクラスから非静的メソッドを呼び出すにはどうすればよいですか?

さて、これは少し厄介です:

私はNetbeansを使用しており、ParameterUIというメインクラスがあります。(これはGUIです)このクラスのGUIにはいくつかのスライダーがあり、これらはプライベートであるため、getBounds()というメソッドがあります。GUIを乱雑にしたくないので、基本的に、計算のためのすべての重要なメソッドは、Structureと呼ばれる別のクラスにあります。したがって、ParameterUIはStructure内のメソッドを呼び出します。このメソッドは、それ自体の内部で別のいくつかのメソッドを呼び出し、これらの1つはgetBoundsを呼び出します。

問題は、getBoundsを静的にできないことですが、静的でない場合は呼び出すことができません。

ParameterUI.class内:

Structure.class内:

myMethodを非静的にすることも役に立たないようです。静的と非静的の基本は知っていますが、クラスなどを使ったプログラミングはそれほど長くありません。

編集:基本的に、私は問題が何であるかを知っており、それを解決するためのより良い方法を探しています。

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

c# - 静的クラスに特定のメソッドを実装させる方法は?

静的クラスのセットを作成する必要があり、それらすべてが同じメソッドを実装する必要があります。私はそれらを強制する方法を見つけたいと思います。

静的クラスはSystem.Object以外のものを派生させることができないことを理解しています。これには非静的メソッドを使用する必要がありますか?可能性はありますが、このクラスのどのメソッドもインスタンスプロパティを使用しません...

私のベストショットは、シングルトンを使用することです。次にインスタンスを使用しますが、少なくとも、メソッドを使用する必要があるたびにクラスをインスタンス化する必要はありません。

あなたが提案する代替案は何ですか?

編集:

これらのメソッドは実装しません。他の開発者に特定のシグネチャを使用して特定のメソッドを実装するように強制する必要があります。すべての署名は、すべてのクラスで同じです。それでおしまい。

オフィスのデータベースからレコードを取得する静的クラスがあるとします。それを行うにはいくつかの方法があります。これらのメソッドはいずれも変数を共有しないため、静的としてマークされ、クラスも静的としてマークされます。

さて、あなたとあなたのチームの他の開発者は、他のデータベースやあなたのコントロール外のAPIに対しても同じことをしなければなりません、それは問題ではありません。同僚に、同じ署名を持つまったく同じメソッドでこれらのクラスをすべて実装するように強制したいとします。

あなたのコメントはいつでも歓迎ですが、今私はこれを行うための最も近い方法を見つけたいと思っています。

他のすべてが継承する抽象クラスを使用できます。ただし、これらのメソッドは何も共有しないため、必要になるたびにクラスをインスタンス化したくないと思います。

そのため、シングルトンパターンの使用について説明しました。私はそれをすべきではありませんか?

0 投票する
2 に答える
107 参照

language-agnostic - 静的クラスは非常に難しく、デバッグすることさえ不可能であると読んだことがあります。これは本当ですか、なぜですか?

静的クラスは非常に難しく、デバッグすることさえ不可能であると読んだことがあります。これは本当ですか、なぜですか?

例が役立つ場合はPHP、データベースにアクセスするために使用するクラスを次に示します (ただし、これは PHP 固有の質問ではないと思います)。

0 投票する
2 に答える
242 参照

c# - 静的クラスへの最初のアクセスが基本クラスの静的メソッドであるのに、静的オブジェクトがインスタンス化されないのはなぜですか?

私は次のクラスを持っています:

次の基本クラスを使用します。

私が抱えている問題は、静的クラスが最初に使用されるときに、が作成されていないことです。これは、基本クラスのメソッドを介したChangeoverものWithdrawalです。つまり、電話をかけると、空になります。InstallationResolveResolveCache

ただし、のようなことを行うとDocketType foo = DocketType.Changeover;Application_Startすべての静的フィールドが作成され、Cache3つの値すべてが含まれます。

このシナリオが機能するようにこれらの静的フィールドを作成する正しい方法は何ですか?

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

c# - 静的クラスと効率

この分野での私の基本的な考え方には欠陥があるのではないかと思うので、静的クラスの効率を理解したいと思います。プライベート変数がアクセサーの情報を保持するため、コストのかかるリフレクション呼び出しがあまり頻繁に発生しないという前提で、次のようなコードを書くことがよくあります。これは非静的クラスとインスタンス プロパティでの適切なプラクティスであると確信していますが、静的クラスでこの構成を使用する利点はありますか、それともパブリック アクセサーへの呼び出しごとにプライベート フィールドをインスタンス化する必要がありますか?

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

php - PHP シングルトン クラスの構造 - 私は正しくやっていますか?

私は本当に大きなスクリプトを持っています。データベース クラス、基本クラス、ユーザー認証クラス、リセラー認証クラス、ペイパル IPN クラス、ダウンロード クラス、およびプラグイン クラスがあります。

Base クラスは、データベース クラスを次のように拡張します。

そして、私は自分のコードを次のように呼び出します:

構造がかなり悪いと思います。それが、シングルトンメソッドを実装したい理由です。どうすればこれを達成できますか?

助けてください。

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

c# - 型初期化子が例外をスローしました

このクラスは例外をスローしています。正確な行番号は表示されませんが、静的コンストラクターで発生しているように聞こえます。

c'tor でこれらの値を変更できないのはなぜですか?

0 投票する
6 に答える
2202 参照

c# - クラスがオブジェクトの青写真である場合、静的クラスはどうでしょうか?

C# を段階的に読むと、作成者は、クラスはオブジェクトの青写真にすぎず、それ自体は役に立たないと述べています。では、静的クラスが単独で動作できるようになるのはなぜでしょうか?

静的クラスはインスタンス化できず、静的メンバーを持つ 1 つの一意のインスタンスとして存在するという概念を理解しています。しかし、それは、青写真としてのクラスの比喩を少し台無しにします。この青写真のアイデアに関連して、静的クラスをどのように説明できますか?