Essential ActionScript 3.0 読書メモ 第30回 定数

定数(Constants)は、最初に定義した値が変わることのない変数である。定数を作るには、varキーワードの代わりにconstキーワードを用いる。伝統的に、定数は全て大文字で名付ける。値の変わらない静的変数の定義は次のように書く。

static const IDENTIFIER = value;

値の変わらないインスタンス変数/ローカル変数を定義するには、次のように書く。

const IDENTIFIER = value;

定数として定義された変数に値を再代入しようとすると、エラーになる。

定数は、典型的には、固定値によってプログラムの設定を定義する静的変数として用いられる。例えば、ブログの背景色を設定するプログラム中で、背景色の色を定義するには、次のように書く。

public class Blog {
  // それぞれの色に対応する数値を設定
  public static const BACKGROUND_RED = 1;
  public static const BACKGROUND_GREEN = 2;
  public static const BACKGROUND_BLUE = 3;
 
  // 背景色の初期値を設定
  private var background = Blog.BACKGROUND_BLUE;
 
  // backgroundに入っている値を元にして背景色を実際に設定
  private function setBackground () {
    if (background == BACKGROUND_RED) {
      // 背景色を赤に
    } else if (background == BACKGROUND_GREEN) {
      // 背景色を緑に
    } else if (background == BACKGROUND_BLUE) {
      // 背景色を青に
    }
  }
}

定数は、プログラムを動かすために必須の要素ではない。定数を使わなくても、同じように動くプログラムは作れる。しかし、定数は、数値の目的を分かりやすくしてくれる。また、値を変更する際にも、定数定義の箇所だけを書き換えれば、その定数を使用した箇所は全て書き換わるため、メンテナンス性も向上する。

なお、プログラム中にそのまま書かれた数値のことをmagic numberという。magic numberを多用したプログラムは、作り変える際に苦労する。

今日の進捗:182→186/1644

コメントを残す