クラス構成要素のまとめ

これまでに学んだ要素を組み合わせることで、複雑なモノの仕組みをプログラムとして表現できます。

設計例:扇風機クラス (Fan)

class Fan {
  // 1. 静的プロパティ・定数 (クラス共通)
  static totalCount = 0;
  static MAX_SPEED = 3;

  // 2. コンストラクタ (初期化)
  constructor(modelName) {
    this.modelName = modelName;
    this.speed = 0;
    this.isPowerOn = false;
    
    Fan.totalCount++; // 生成されるたびにカウントアップ
  }

  // 3. メソッド (振る舞い)
  power() {
    this.isPowerOn = !this.isPowerOn;
    this.speed = this.isPowerOn ? 1 : 0;
  }
}

用語の再確認

静的(static)要素
クラス自体に紐付くデータ。インスタンス化せずに Fan.totalCount のように使います。
インスタンス要素
個々の実体に紐付くデータ。this.speed のようにそれぞれの状態を管理します。
インスタンス化
new Fan("モデルA") で設計図から実体を生み出すアクションです。