見出し画像

オブジェクト指向って何?(Javascriptの場合)

こんにちは、ちゃるです😀
プログラムの勉強をしていてオブジェクト指向という言葉をよく見かけます。
どういうことかわからなかったので調べてみました!

オブジェクト指向プログラミング (Object-Oriented Programming, OOP) は、コンピュータプログラミングの一手法です。OOPでは、プログラムを構成するものを「オブジェクト」と呼び、それらのオブジェクトがデータを持ち、またそれらのオブジェクトがどのようにデータを処理するかを定義する「クラス」を使用します。

OOPの特徴

OOPの特徴として、以下のようなものがあります。

  • ポリモーフィズム (Polymorphism):同じ名前のメソッドを異なるクラスで異なる実装をすることができる機能。

  • 継承 (Inheritance):あるクラスの機能を拡張するために、新しいクラスを作成し、その新しいクラスでは既存のクラスの機能を継承した上で、新しい機能を追加することができる機能。

  • 封装 (Encapsulation):クラスの外部からクラス内部のデータや処理を直接アクセスできないようにすることで、データを保護する機能。

OOPを使用することで、複雑なプログラムをより構造化しやすく、再利用可能なコードを作成することができます。多くのプログラミング言語でOOPをサポートしており、Java、C++、C#、Pythonなどがよく使われます。

Javascriptの場合

JavaScriptでは、クラスを定義することで、そのクラスを元にインスタンスを生成することができます。
例えば、次のように、「Person」というクラスを定義して、「Person」クラスのインスタンスを生成することができます。

Copy codeclass Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }

  greet() {
    console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
  }
}

const person1 = new Person('John', 30);
person1.greet(); // "Hello, my name is John and I am 30 years old."

上記の例では、「Person」クラスには、「name」と「age」というプロパティがあり、「greet」というメソッドが定義されています。「constructor」は、クラスのインスタンスが生成される際に自動的に呼び出される特殊なメソッドです。
「new」演算子を使用して「Person」クラスのインスタンスを生成することができます。「person1」は、「Person」クラスのインスタンスであり、「name」プロパティには「'John'」、「age」プロパティには「30」が設定されています。
「person1.greet()」を呼び出すことで、「Person」クラスの「greet」メソッドが実行され、指定された文字列がコンソールに出力されます。
このように、JavaScriptでは、クラスを定義して、そのクラスを元にインスタンスを生成することで、OOPを実現することができます。


今日はオブジェクト指向についてとJavascriptで利用する場合にどうすればいいのかについて勉強しました!

サポートをいただいたらスクールに通ったり参考書を買ったりしたいと思います。支援をお待ちしています😀


この記事が気に入ったらサポートをしてみませんか?