今回は、JavaScriptでオブジェクト指向プログラミング、クラスと継承の基礎について解説します。
オブジェクト指向プログラミング(OOP)は、プログラムを実体(オブジェクト)の集まりとして考える方法です。一つのオブジェクトはデータと、そのデータを操作する関数を持ちます。これにより、プログラムをより理解しやすく、再利用しやすくすることができます。
オブジェクトは現実世界の物体をイメージするとわかりやすいです。例えば、クラスという設計図を使って、いろんな種類の「車」を作ることができます。
クラスはオブジェクトの設計図です。クラスを使って、一つの型に基づく複数のインスタンス(オブジェクト)を作ることができます。では、実際にコードを書いてみましょう。
class Car {
constructor(brand, model) {
this.brand = brand;
this.model = model;
}
displayInfo() {
console.log(`This car is a ${this.brand} ${this.model}.`);
}
}
// 車のインスタンスを作成
const myCar = new Car('Toyota', 'Corolla');
myCar.displayInfo(); // 結果: This car is a Toyota Corolla.
上の例では、Car というクラスを作成し、そのクラスから myCar というインスタンスを作成しました。
継承は、既存のクラスを基にして新しいクラスを作る方法です。例えば、「電気自動車」という新しいクラスを Car クラスから継承して作ることができます。
class ElectricCar extends Car {
constructor(brand, model, batteryLife) {
super(brand, model);
this.batteryLife = batteryLife;
}
displayBatteryLife() {
console.log(`Battery life is ${this.batteryLife} hours.`);
}
}
// 電気自動車のインスタンスを作成
const myElectricCar = new ElectricCar('Tesla', 'Model S', 12);
myElectricCar.displayInfo(); // 結果: This car is a Tesla Model S.
myElectricCar.displayBatteryLife(); // 結果: Battery life is 12 hours.
この例では、 ElectricCar クラスが Car クラスを継承し、新しいプロパティ batteryLife とメソッド displayBatteryLife を追加しています。継承を使うことで、コードの再利用性が高まり、簡単にクラスを拡張できます。
今回は、JavaScriptのオブジェクト指向プログラミングについて、特にクラスと継承の基礎を学びました。クラスはオブジェクトの設計図であり、継承を使うことで既存のクラスを基に新しいクラスを作成できます。