クラスとは?
JavaScriptでは、オブジェクト指向プログラミングの基本概念であるクラスを使って、オブジェクトの設計を簡単に行うことができます。クラスとは、オブジェクトのプロパティとメソッドを定義するためのテンプレートです。これにより、オブジェクトを簡単に生成し、複数のインスタンスを作成できます。
クラス宣言の基本構文
クラス宣言はclassキーワードを使って行います。クラスは通常、コンストラクタ(constructor)を含み、オブジェクトが生成されたときに初期化されます。
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
start() {
return `${this.make} ${this.model} starts.`;
}
}
この例では、Carというクラスが定義されています。constructorメソッドは、makeとmodelという2つの引数を受け取り、インスタンスごとに異なるプロパティを設定します。
インスタンス生成の方法
クラスからオブジェクトを生成するには、newキーワードを使用します。これによりクラスのインスタンスが作成され、クラスのプロパティやメソッドにアクセスできるようになります。
let myCar = new Car('Toyota', 'Corolla');
console.log(myCar.start()); // 出力: Toyota Corolla starts.
このコードでは、myCarというオブジェクトがCarクラスから生成され、startメソッドを使用して車を起動するメッセージが表示されます。
クラス宣言とインスタンス生成の流れ
クラス宣言とインスタンス生成の手順は以下のように進行します。
- クラス宣言:
classキーワードを使ってクラスを定義します。クラス内にはプロパティやメソッドが含まれます。 - コンストラクタ: インスタンスが生成される際に呼び出される
constructorメソッドで、初期化処理を行います。 - インスタンス生成:
newキーワードを使用してクラスのインスタンスを作成します。 - メソッドの実行: 生成されたインスタンスから、クラスで定義されたメソッドを実行できます。
クラスの特徴
クラスには以下の特徴があります。
| 特徴 | 説明 |
|---|---|
| クラスベース | クラスは、複数のオブジェクトの構造を定義するテンプレートです。 |
| インスタンス生成 | newキーワードを使用してクラスからインスタンスを生成できます。 |
| コンストラクタ | インスタンス生成時に初期化処理を行うための特殊なメソッドです。 |
| メソッド定義 | クラス内で定義されたメソッドを、生成されたインスタンスで利用できます。 |
クラスの活用例
クラスはオブジェクト指向の強力な機能であり、同じ構造の複数のオブジェクトを作成するのに役立ちます。以下にクラスを利用したもう一つの例を示します。
クラス活用例:Personクラス
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
introduce() {
return `Hi, I'm ${this.name} and I'm ${this.age} years old.`;
}
}
let person1 = new Person('Alice', 30);
let person2 = new Person('Bob', 25);
console.log(person1.introduce()); // 出力: Hi, I'm Alice and I'm 30 years old.
console.log(person2.introduce()); // 出力: Hi, I'm Bob and I'm 25 years old.
この例では、Personクラスが定義され、person1とperson2という2つのインスタンスが生成されています。それぞれのインスタンスで異なるnameとageを保持し、introduceメソッドを使って自己紹介を行います。
まとめ
JavaScriptのクラスは、オブジェクト指向プログラミングを実現するための重要な機能です。クラスを使うことで、オブジェクトの構造を明確にし、複数のインスタンスを容易に生成できるようになります。クラスの宣言はclassキーワードを使い、インスタンスはnewキーワードで生成します。
この仕組みを理解し、クラスとインスタンスを効果的に利用することで、より強力で再利用可能なコードを書くことができるようになります。