5

vbscript でクラスごとに 1 つの変数を持つ方法はありますか?

そうでない場合、それをエミュレートする最良の方法は何ですか? クラスの次に宣言されたグローバル変数にプレフィックスを付けますか?

また、(静的コンストラクターの) 静的/クラス メソッドを宣言する方法はありますか、または関数の前に強制する必要がありますか?

4

2 に答える 2

4

クラスレベル/静的データまたはメソッドをサポートする言語では、次のことができます

  1. データまたはメソッドを、クラスによって定義されたオブジェクトのセットに明示的に関連付け/バインドします。したがって、Customer.CountProduct.Count を使用でき、Customer コードのプレーンな Count (または @@Count) が正しい番号にアクセスします。
  2. クラスのインスタンスを (まだ) 持たずに、そのようなデータまたはメソッドを使用します。

VBScript は、静的データまたはメソッドをサポートしていません。グローバル データまたは関数/サブルーチンを使用し、頭の中で関連付けを行う必要があります (おそらく、命名規則の助けを借りて)。オブジェクトなしでこれらの 'static'=global 要素にアクセスするのは簡単ですが、明らかに注意して行う必要があります。

1 つまたは複数のシングルトン オブジェクトまたはコード参照 (GetRef()) をオブジェクトに埋め込んでクラスの近くにバインドできますが、インスタンスのサイズが大きくなります。

于 2012-10-10T09:36:28.553 に答える