0Pricing
Dart Academy · レッスン

静的メンバーとクラス定数

クラスレベルでデータとヘルパーを共有する

「静的メンバーとクラス定数」はCoddyKit上の無料Dart Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDart Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Dart Academyコースには全4レッスンが含まれています。

インスタンスごとではなく共有

ほとんどのメンバーは各オブジェクトに属しますが、クラスそのものに属するメンバーもあります。それらはstaticメンバーと呼ばれ、全員で共有されます。

staticフィールド

フィールドにstaticを付けると、インスタンスごとに1つずつではなく、クラス全体で1つだけ存在します。すべてのオブジェクトが同じ値を参照します。

class Dog {
  static int count = 0;
}

staticメンバーへのアクセス

staticメンバーにはインスタンスではなくクラス名を通してアクセスします。使うためにオブジェクトを作成する必要はありません。

Dog.count = 5;
print(Dog.count);

インスタンス数を数える

staticフィールドの典型的な用途は、共有カウンターです。新しいオブジェクトが作られるたびに値を増やして、存在する数を追跡できます。

Dog() {
  count++;
}

staticメソッド

staticメソッドもクラスに属します。thisを持たず、インスタンスフィールドにはアクセスできません。アクセスできるのはstaticメンバーだけです。

static int square(int n) => n * n;

staticメソッドの呼び出し

staticメソッドはクラス名に対して呼び出します。クラス名の下にまとめた、名前空間付きのヘルパー関数のように使えます。

var r = MathUtil.square(4); // 16

クラス定数

staticとconstを組み合わせると、共有定数を作れます。コンパイル時に計算され、クラス全体で同じ値になります。

static const double pi = 3.14159;

クラス定数の使用

クラス定数はstaticフィールドと同じように、クラス名を通して読み取ります。固定された設定値に適しています。

print(Circle.pi);

staticからインスタンスは見えない

staticメンバーはオブジェクトなしで実行されるため、thisを持ちません。そこからインスタンスフィールドを読み取ろうとするとエラーになります。

static void show() {
  // print(name); // error
}

staticを選ぶ場面

データや振る舞いが、作成する特定のオブジェクトではなく型全体に属するときはstaticを使います。

staticヘルパーで整理する

関連するヘルパーをstaticメソッドとしてまとめると、単独の関数として散らばらず、1つのクラス名の下に整理できます。🧰

簡単な確認

クラスのすべてのオブジェクトで共有するカウンターが1つ必要です。何を使いますか?

まとめ:Staticと定数

staticメンバーはクラスに属し、thisを持たないこと、そしてstatic constで共有するコンパイル時定数を定義できることを学びました。🎉

よくある質問

「静的メンバーとクラス定数」レッスンは無料ですか?

はい。「静的メンバーとクラス定数」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Dart Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Dart Academyコースには全4レッスンが含まれています。

「静的メンバーとクラス定数」で何を学びますか?

クラスレベルでデータとヘルパーを共有する ブラウザで直接実行するハンズオンコードでDart Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Dart Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDart Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「静的メンバーとクラス定数」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDart Academyレッスンでコードを書いて実行できますか?

はい。すべてのDart Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. フィールドを持つクラスを定義する
  2. インスタンスメソッドとthis
  3. GetterとSetter
  4. 静的メンバーとクラス定数
← Dart Academyに戻る