特定のタイプのオブジェクトを作成するためのテンプレート。

クラスを使用すると、オブジェクトでのプログラミングが容易になります。例えば、Frog クラスはカエルのように振る舞うオブジェクトを作成できます。クラスを使用して作成された 各オブジェクトは、そのクラスのインスタンスと呼ばれます。クラスのすべてのインスタンスは 同じタイプです。以下はFrogクラスのインスタンスを作成する例です:

let fifi = new Frog(50, 50, 20);

変数fifiFrogクラスのインスタンスを参照します。キーワード newnew Frog()文でFrogクラスのコンストラクタを呼び出すために使用されます。 全体として、新しいFrogオブジェクトが作成され、変数fifiに割り当てられました。 クラスはテンプレートなので、複数のインスタンスを作成するのに使用できます:

// 最初のFrogインスタンス
let frog1 = new Frog(25, 50, 10);

// 2番目のFrogインスタンス
let frog2 = new Frog(75, 50, 10);

シンプルなFrogクラスは以下のように宣言できます:

class Frog {
  constructor(x, y, size) {
    // このコードはインスタンスが作成されたときに一度だけ実行されます
    this.x = x;
    this.y = y;
    this.size = size;
  }

  show() {
    // このコードはmyFrog.show()が呼び出されたときに一度だけ実行されます
    textAlign(CENTER, CENTER);
    textSize(this.size);
    text('🐸', this.x, this.y);
  }

  hop() {
    // このコードはmyFrog.hop()が呼び出されたときに一度だけ実行されます
    this.x += random(-10, 10);
    this.y += random(-10, 10);
  }
}

クラス宣言はclassキーワードで始まり、その後にクラス名(Frogなど)と 中括弧{}が続きます。クラス名はPascalCaseを使用し、名前に空白を含めることはできません。 例えば、クラスにKermit The Frogと各単語の間に空白を入れて名前を付けると、 SyntaxErrorがスローされます。中括弧{}の間のコードがクラスを定義します。

クラスに属する関数はメソッドと呼ばれます。constructor()show()hop()Frogクラスのメソッドです。メソッドはオブジェクトの 振る舞いを定義します。メソッドは関数と同様に、パラメータを受け取り、値を返すことができます。 メソッドにはfunctionキーワードを使用しないことに注意してください。

constructor()は、クラスのインスタンスが作成されたときに一度だけ呼び出される 特別なメソッドです。new Frog()文はFrogクラスのconstructor()メソッドを 呼び出します。

クラス定義はインスタンスのテンプレートです。キーワードthisはインスタンスの データとメソッドを参照します。例えば、各Frogインスタンスはthis.xthis.yに 格納されたユニークな座標を持ちます。show()メソッドはこれらの座標を使用してカエルを 描画します。hop()メソッドは呼び出されたときにこれらの座標を更新します。Frog インスタンスが作成されると、そのデータとメソッドにはドット演算子.を使用してアクセス できます:

// 睡蓮の葉を描画
fill('green');
stroke('green');
circle(fifi.x, fifi.y, 2 * fifi.size);

// カエルを表示
fifi.show();

// ホップ
fifi.hop();

実例

Notice any errors or typos? Please let us know. Please feel free to edit src/core/reference.js and open a pull request!

関連するリファレンス