変数のスコープを変更する
変数のスコープにより、どこからその変数にアクセスできるかが決まります。 クラス宣言で宣言された変数は、インスタンス変数と呼ばれます。 インスタンス変数は、プライベートとして宣言されていない場合、そのクラスのすべてのメソッド、およびその元のクラスから拡張されたクラス内のメソッドからアクセスできます。
ローカル変数は、メソッド内で宣言され、宣言されたメソッド内でのみアクセスできます。 変数を宣言すると、その値を保存するためのメモリが消費されます。
すべての変数をクラス宣言で宣言すると、そのプロセスが完了するまで、それぞれの変数に対してメモリが割り当てられます。 ローカル変数を使用すると、そのメソッドの実行中のみメモリが割り当てられるため、オーバーヘッドが小さくなります。 その変数が宣言されたコード ブロックが終了すると、メモリが解放されます。 最適なメモリ効率を実現するため、可能な限り小さなスコープで変数を宣言することをお勧めします。
例
次に、インスタンス変数とローカル変数の例を示します。
class ExampleClass
{
private int instanceVariable; // Instance variable: accessible throughout the class
public void demonstrateVariableScope()
{
int localVariable = 10; // Local variable: accessible only within this method
instanceVariable = localVariable * 2;
info(strFmt("Instance Variable: %1, Local Variable: %2", instanceVariable, localVariable));
}
}
// Output: Instance Variable: 20, Local Variable: 10
変数宣言のベスト プラクティス
これらの変数宣言のベスト プラクティスに従ってください:
- 可能な場合は常にローカル スコープ - 機能を実現するために必要な最小スコープ内の変数を宣言します。
- 不要なインスタンス変数を回避する - インスタンス変数を過剰に使用すると、過剰なメモリ消費が発生する可能性があります。
- 明確化のためにコードを整理する - 関連する変数宣言をグループ化し、使用されていない変数の宣言を回避します。
詳細については、X++ 変数を参照してください。