ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript のオブジェクト指向プログラミング (OOP): 包括的なガイド
JavaScript のオブジェクト指向プログラミング (OOP)
JavaScript では、オブジェクト はキーと値のペア (プロパティとメソッド) のコレクションです。クラスは、オブジェクトを作成するための設計図として機能します。
// Define a class class Person { constructor(name, age) { this.name = name; // Property this.age = age; } greet() { // Method console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`); } } // Create an object const person1 = new Person('Alice', 25); person1.greet(); // Output: Hello, my name is Alice and I am 25 years old.
カプセル化とは、データ (プロパティ) とそのデータを操作するメソッドを 1 つのユニット (オブジェクト) 内にバンドルすることを意味します。オブジェクトの特定の部分への直接アクセスを制限します。
class BankAccount { #balance; // Private field constructor(initialBalance) { this.#balance = initialBalance; } deposit(amount) { this.#balance += amount; } getBalance() { return this.#balance; } } const account = new BankAccount(1000); account.deposit(500); console.log(account.getBalance()); // 1500 // console.log(account.#balance); // Error: Private field '#balance' not accessible
継承により、クラスは別のクラスからプロパティとメソッドを継承できます。既存のコードの再利用に役立ちます。
class Animal { constructor(name) { this.name = name; } speak() { console.log(`${this.name} makes a noise.`); } } class Dog extends Animal { speak() { console.log(`${this.name} barks.`); } } const dog = new Dog('Buddy'); dog.speak(); // Output: Buddy barks.
ポリモーフィズムとは、複数の形式を持つことを意味します。 OOP では、子クラスのメソッドが親クラスのメソッドと同じ名前を持つことができますが、動作は異なります。
class Shape { area() { return 0; } } class Rectangle extends Shape { constructor(width, height) { super(); this.width = width; this.height = height; } area() { return this.width * this.height; } } const shape = new Shape(); const rectangle = new Rectangle(10, 5); console.log(shape.area()); // 0 console.log(rectangle.area()); // 50
抽象化によりコードの複雑さが隠蔽され、重要な部分のみがユーザーに表示されます。
class Vehicle { startEngine() { console.log('Engine started'); } } class Car extends Vehicle { drive() { console.log('Driving the car...'); } } const car = new Car(); car.startEngine(); // Engine started car.drive(); // Driving the car...
静的メソッドとプロパティは、インスタンスではなくクラス自体に属します。
class MathUtils { static add(a, b) { return a + b; } } console.log(MathUtils.add(5, 3)); // 8
JavaScript は、プロトタイプベースの継承 モデルを使用し、オブジェクトは他のオブジェクトからプロパティとメソッドを継承できます。
function Person(name) { this.name = name; } Person.prototype.greet = function() { console.log(`Hello, my name is ${this.name}`); }; const person = new Person('Alice'); person.greet(); // Hello, my name is Alice
JavaScript の OOP 機能により、開発者はクリーンでモジュール化された再利用可能なコードを作成できます。
こんにちは、アバイ・シン・カタヤットです!
私はフロントエンドとバックエンドの両方のテクノロジーの専門知識を持つフルスタック開発者です。私はさまざまなプログラミング言語やフレームワークを使用して、効率的でスケーラブルでユーザーフレンドリーなアプリケーションを構築しています。
ビジネス用メールアドレス kaashshorts28@gmail.com までお気軽にご連絡ください。
以上がJavaScript のオブジェクト指向プログラミング (OOP): 包括的なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。