問題タブ [static-variables]
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.
java - 継承するクラスのタイプごとに静的変数の異なるコピーを作成できますか?
クラスのタイプに応じて異なる値を持つ同じ静的変数が必要です。
だから私は
そして、私のメインプログラムで:
クラスのすべてのインスタンスに同じスプライトを格納したくありません。クラスの種類ごとに1つ欲しいです。静的スプライト変数と、スプライトを描画する描画関数を継承したいと思います。しかし、私はGenstealerスプライトがMarineスプライトをオーバーライドすることを望んでいません。
これは可能ですか?
どうすればいいですか?
variables - プログラム(Java)内の変数の寿命は?
変数がプログラム (Java) 内に存在する期間を教えてください。つまり、メソッド内で宣言された変数、パラメーターで使用される変数、STATIC 変数、メソッドから戻るために使用される変数などです。
ありがとう。
php - リクエスト間のPHPでのオブジェクトの状態を覚えておいてください
私はアプリケーションを書いています、そして私は多くの異なる言語でいくつかの辞書の値を持っています。GetTextを使用できることはわかっていますが、AFAIRファイルは編集後にコンパイルする必要があり、ユーザーに辞書を編集させたいので、サーバー上で.moファイルを再コンパイルできません。いくつの言語が使われるかわからないので、解決策は弾力的でなければなりません。
私はデータベースを設計して、それがうまく機能し、スキーマが正常に見えるようにしましたが、すべてのディクショナリ値に対して2つの結合があるため、ソリューションはそれほど速くありません。
そのため、辞書の値を一度保存し、値を編集してから更新することを考えています。残念ながら、PHP静的変数はリクエストの最後に終了するため、使用できませんでした。ユーザーごとにDB呼び出しを行う必要があるため、セッションを使用したくありません。理想的には、Javaと同じように静的変数を使用したいと思います。静的変数は、アプリケーションがJVMに存在する限り存続します。
すべてのユーザー(ユーザーごとではない)に対して、いくつかの変数(私の例では辞書、辞書エントリなど)を長期間(要求ごとではなく)保存するための最良の解決策は何ですか?
クラスのようなものを作成しDictionaryValues
、一度シリアル化してから、リクエストごとに逆シリアル化することを考えています。誰かが辞書を編集するたびに、オブジェクトは再びシリアル化され、古いシリアル化されたオブジェクトを置き換えます。もちろん、辞書の値が読み取られる頻度と比較して、編集が行われることはめったにありません。
これは良い解決策ですか?オブジェクトをシリアル化してディスクに保存するか、データベースに書き込む必要がありますか?どちらが速いですか?
多分あなたはその問題のより良い解決策を見つけますか?
c# - スーパークラスを作成すると、c#のサブクラスごとに異なる静的変数が使用されます。
サブクラスにコードがない場合、抽象クラスにサブクラスごとに静的変数の異なるコピーを持たせたいと思います。C#では
および(たとえば):
私の現在の解決策はこれです:
これは問題なく機能しますが、これを行うためのよりエレガントな方法や組み込みの方法があるのでしょうか。
これは、継承するクラスのタイプごとに静的変数の異なるコピーを持つことができますが、サブクラスを制御することはできません。
c++ - 静的変数の初期化コードが呼び出されることはありません
私が作成した静的ライブラリを使用するアプリケーションがあります。ライブラリ内の 1 つの .cpp ファイルには静的変数宣言があり、その ctor は何かを行うシングルトンの関数を呼び出します。たとえば、文字列を追加します。
アプリケーションからそのライブラリを使用すると、シングルトンには、追加されるはずだった文字列の痕跡が含まれていないようです。
私は間違いなく何かを見逃していますが、何がわかりません..
c# - デスクトップと Web の両方で使用されるライブラリで静的変数を処理するにはどうすればよいですか?
静的変数を利用する C# ライブラリ クラスがいくつかあります。これらのライブラリ クラスは、デスクトップ アプリケーションと Web アプリケーションの両方で使用しています。問題は、私が発見したばかりのように、静的変数が Web サーバー上でうまく機能しないことです。値は、Web サイトを使用するすべてのセッションで共有されます。
Web サーバー上の各セッションがこれらの変数に対して独自の独立した値を持っていることを確認しながら、静的変数の機能をデスクトップ アプリで使用するために保持するにはどうすればよいでしょうか。
c - Cの別のファイルからグローバル静的変数にアクセスします
C言語では、ファイルのスコープ外のグローバル静的変数にアクセスしたいと思います。それを行うための最良の方法を教えてください。方法の1つは、外部グローバル変数に静的変数の値を割り当てることです。
ファイルAC
ファイルbc内
ただし、この場合、val(file ac)の変更は、(file bc)のglobalvarでは更新されません。
どうすれば同じことができるか教えてください。
ありがとう、Sikandar。
objective-c - Objective-C カテゴリの静的変数の初期化
画像の辞書を格納する静的変数を作成しようとしていました。残念ながら、変数を初期化するために見つけた最善の方法は、変数を使用する各関数をチェックインすることでした。この変数はカテゴリ内で作成しているため、初期化子内で初期化することはできません。navigationBarImages を初期化するより適切な方法はありますか?
c# - C#winformsでの静的クラス変数スコープの問題-なぜこのコードが機能しないのですか?
WinFormsアプリには2つの異なるフォームがあります(MainFormとForm2と言います)。どちらも、「getInstance」静的メソッドを介してMyDataSetへのアクセスを要求します。問題は、MainFormがインスタンスを取得した後、Form2がインスタンスを取得する必要があるときに、静的な「myDataSet」変数がnullであるのに対し、すでに設定されていると予想している場合です。何か案は?
では、静的な「myDataSet」変数は、インスタンスが1つしかないという点では機能していないようです。
oop - クラスで静的メソッドを使用する必要があるのはいつですか。また、その利点は何ですか。
私は静的変数の概念を持っていますが、クラス内の静的メソッドの利点は何ですか。私はいくつかのプロジェクトに取り組んできましたが、メソッドを静的にしませんでした。クラスのメソッドを呼び出す必要があるときはいつでも、そのクラスのオブジェクトを作成し、目的のメソッドを呼び出します。
Q:メソッドの静的変数は、メソッドが実行されてもその値を保持しますが、それを含むメソッドでのみアクセスできますが、静的メソッドの最良の定義は何ですか?
Q:そのクラスのオブジェクトを作成せずに静的メソッドを呼び出すことが静的メソッドの唯一の利点ですか?
Q:静的メソッドのアクセス可能な範囲はどれくらいですか?
ありがとう