JavaScriptのクラス構文とオブジェクト指向の基礎を学ぼう|初心者でもわかるクラス入門
生徒
「JavaScriptでクラスってよく聞くけど、何のために使うんですか?」
先生
「クラスは、似たようなものをまとめて作るための設計図のようなものです。オブジェクト指向プログラミングの基本の一つで、ものごとを整理しやすくする役割がありますよ。」
生徒
「設計図?どういうことか具体的に教えてください!」
先生
「わかりました!それでは、JavaScriptのクラス構文とオブジェクト指向の基本をわかりやすく説明しますね。」
1. クラスって何?設計図のようなもの
クラスとは、同じ種類のものをまとめて作るための「設計図」のようなものです。たとえば、車を作るときに「車クラス」を作って、車の特徴や動き方を決めておきます。その設計図を使って、実際の車(オブジェクト)を何台も作ることができます。
プログラミングの世界でいうオブジェクトとは、「もの」や「データのかたまり」のことです。クラスはそのオブジェクトを作るための型(テンプレート)とも言えます。
2. JavaScriptのクラス構文の基本
JavaScriptでクラスを作るときは、classというキーワードを使います。基本の書き方は次の通りです。
class Car {
constructor(name, color) {
this.name = name; // 名前をセット
this.color = color; // 色をセット
}
drive() {
console.log(this.name + "が走ります。");
}
}
ここで使っているconstructorは「コンストラクター」と読み、オブジェクトを作るときに呼ばれる特別な関数です。thisは「このクラスで作られたオブジェクト自身」を意味します。
3. クラスからオブジェクトを作ってみよう
上のクラスを使って実際に車のオブジェクトを作ってみましょう。
const myCar = new Car("プリウス", "赤");
myCar.drive(); // プリウスが走ります。
newは「新しいオブジェクトを作るよ」という意味です。myCarは車のオブジェクト名で、driveメソッドを呼ぶと車が走る動作をします。
4. オブジェクト指向って何?
オブジェクト指向とは、プログラムを「もの(オブジェクト)」として考える考え方です。人や車、商品などをオブジェクトとして扱い、それぞれに特徴(プロパティ)や動作(メソッド)を持たせて整理します。
これにより、プログラムが現実の世界に近い形で表現でき、管理や拡張がしやすくなります。
5. クラスで作るオブジェクトの特徴(プロパティ)と動作(メソッド)
先ほどのCarクラスでは、nameやcolorがプロパティ、driveがメソッドです。
- プロパティ:オブジェクトの「特徴」や「情報」。例:色や名前
- メソッド:オブジェクトができる「動作」や「処理」。例:走る、止まる
オブジェクト指向では、これらをセットで考えます。
6. クラスの継承で機能を増やす(簡単な説明)
クラスは別のクラスを元にして作ることもできます。これを「継承(けいしょう)」と言います。例えば「スポーツカー」というクラスを「車」クラスから作り、走る以外に「スピードを上げる」機能を追加できます。
class SportsCar extends Car {
turbo() {
console.log(this.name + "がターボで加速します!");
}
}
const mySportsCar = new SportsCar("フェラーリ", "赤");
mySportsCar.drive(); // フェラーリが走ります。
mySportsCar.turbo(); // フェラーリがターボで加速します!
extendsは「〜を継承する」という意味で、元のクラスの機能を受け継いで新しい機能を足せます。
7. まとめとして大切なポイント
- クラスはオブジェクトを作るための設計図のようなもの
constructorはオブジェクトを作るときに呼ばれる特別な関数thisは「そのオブジェクト自身」を指す- オブジェクトは「プロパティ」と「メソッド」を持つ
- 継承を使うと既存のクラスの機能を引き継ぎ、新しい機能を追加できる
JavaScriptのクラス構文とオブジェクト指向の考え方は、プログラムをわかりやすく整理し、複雑な動きを扱うのにとても役立ちます。ぜひ基本からゆっくり理解していきましょう。