JavaScript における OOP の 4 つの柱
JavaScript のオブジェクト指向プログラミング (OOP) は、4 つの主要なアイデア、つまり「柱」に基づいて構築されています。これらは、カプセル化、抽象化、継承、ポリモーフィズムです。簡単な例を使ってそれぞれを詳しく見てみましょう。
カプセル化とは、データとそのデータを処理する関数をクラスのように 1 か所にまとめることを意味します。
車を想像してみてください。モデル、色、速度、エンジンなどのプロパティがあります。スタートやストップなどの機能もあります。これらすべての変数とメソッドを Car という 1 つのクラスに入れます。
class Car { constructor(model, color, speed, engine) { this.model = model; this.color = color; this.speed = speed; this.engine = engine; } start() { console.log("Car started"); } stop() { console.log("Car stopped"); } }
抽象化とは、複雑な詳細を隠し、必要な部分だけを示すことを意味します。
テレビのリモコンを考えてみましょう。 「次へ」ボタンを押すとチャンネルが変わります。リモコンがどのようにテレビに信号を送信するかを知る必要はありません。ボタンを使用してチャンネルを変更するだけです。
JavaScript における抽象化とは、単純なインターフェイスを使用してより複雑なコードと対話することです。
class Remote { changeChannel() { console.log("Channel changed"); } } let remote = new Remote(); remote.changeChannel(); // You don't need to know how this works inside
継承とは、クラスが別のクラスからプロパティとメソッドを継承できることを意味します。
親から特定の動作や特性を継承するのと同じように、クラスは別のクラスから属性やメソッドを継承できます。複数のクラスから継承することを多重継承と呼びますが、JavaScript はこれを直接サポートしていません。
class Animal { makeSound() { console.log("Animal sound"); } } class Dog extends Animal { bark() { console.log("Dog barks"); } } let dog = new Dog(); dog.makeSound(); // Inherited from Animal class dog.bark(); // Specific to Dog class
ポリモーフィズムとは、変数、関数、またはオブジェクトが複数の形式を取ることができることを意味します。
Animal クラスを想像してください。ポリモーフィズムを使用すると、Cat クラスを作成して、それに新しい機能を変更したり追加したりできます。
class Animal { makeSound() { console.log("Animal sound"); } } class Cat extends Animal { makeSound() { // Overriding method console.log("Meow"); } } let cat = new Cat(); cat.makeSound(); // Calls the Cat's makeSound method
まとめると、OOP の 4 つの柱 (カプセル化、抽象化、継承、ポリモーフィズム) は、JavaScript コードを整理し、再利用可能にし、理解しやすくするのに役立ちます。
以上がJavaScript における OOP の 4 つの柱の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。