【Flutter/Dart】static修飾子の使い方|静的変数/静的メソッド

static修飾子
目次

static修飾子とは?

static修飾子を使えば、クラスのプロパティ/メソッドをインスタンス化せずに使用できます。また、static修飾子を宣言したプロパティ/メソッドをそれぞれ、静的変数/静的メソッドと呼びます。

>>【Dart】クラスの使い方 基本編|プロパティ/コンストラクタ/メソッド 

静的/動的とは?

ここでプログラミングにおける「静的」の意味について簡単に解説しておくと、静的とは最初から最後までずっと存在するオブジェクトです。また、静的と反対の意味を持つ「動的」とは、プログラムの実行中に生成または破棄されるオブジェクトのことを呼びます。

  • 静的:プログラムの実行中、ずっと存在する(値を変更できる)
  • 動的:プログラムの実行中、生成または破棄される

静的変数/静的メソッドの定義

//定義
class クラス名{
  //静的変数
  static プロパティ

  //静的メソッド
  static メソッド
}

//静的変数と静的メソッドの使用方法
クラス名.静的変数名;
クラス名.静的メソッド;
//例
class Car{
  static int doors = 4;
  static void drive(){
    print('I am driving.');
  }
}

void main() {
  print(Car.doors);
  Car.drive();
}

//出力
//4
//I am driving

クラスのプロパティ/メソッドを静的にするには、頭にstatic修飾子を付けます。また、この例のように静的変数/静的メソッドはクラスをインスタンス化せずに使用できます。

静的変数を定数にする

class クラス名{
  static final プロパティ;
  static const プロパティ;
}
//例
class Car{
  static final int doors = 4;
  static const int seats = 6;
}

静的変数を定数にするには、final修飾子またはconst修飾子を使用します。

>>【Dart】final修飾子とconst修飾子の区別と使い方|定数の定義

参考

よかったらシェアしてね!
目次
閉じる