OOPとは何ですか?
メニューを表示するにはスワイプしてください
OOP
ついに、オブジェクト指向プログラミング(OOP)の学習を開始します。現在では、ほとんどすべての最新(およびそれほど新しくない)プログラミング言語が、何らかの形でOOPをサポートしています。
OOPとは何か
OOPは、オブジェクトを扱うプログラミングパラダイムです。クラスのオブジェクト、クラスのメソッド、およびそのプロパティを使用してアプリケーションを構築します。
プログラミングパラダイム
プログラミングパラダイムとは、簡単に言えばプログラミングの手法のことです。いくつかの異なるプログラミングパラダイムがあります。基本的なものを見てみましょう:
- 手続き型 - このパラダイムは、コードを手続きや関数に整理してモジュール化と再利用性を高めるものです。機能をカプセル化するために関数やメソッドの使用を推奨し、コードをより構造化し、保守しやすくします。Python、Pascal、Cなどの言語は、他のパラダイムとともに手続き型プログラミングをサポートしています;
- 関数型 - 関数型プログラミングは、計算を数学的関数の評価として扱うことを重視するパラダイムです。不変性や副作用のない純粋関数の使用を推奨します。関数は第一級オブジェクトであり、コードはしばしば小さく再利用可能な関数に整理されます。可読性、拡張性、記述の容易さが向上します。Haskell、Lisp、JavaScriptなどの言語が関数型プログラミングをサポートしています;
- OOP - 先述の通り、このパラダイムではオブジェクト、クラスのメソッド、プロパティを扱います。これらを使ってアプリケーションやウェブサイト、ゲームのロジックを構築します。このタイプのコードは最も拡張性が高く、可読性が高いです。時には関数型プログラミングよりも記述が難しい場合もありますが、将来的にコードの扱いが格段に容易になるため、その価値があります。現在、ほとんどすべての主要なプログラミング言語がOOPを採用しています。
クラスのどのようなオブジェクトを操作しているのか疑問に思うかもしれません。例を用いて詳しく見てみましょう:
- 最初の写真では、クラスのプロパティ、メソッド、コンストラクタ、およびオーバーライドされたメソッドが何かを確認できます。これらは前のコースで学習済みなので、ここでは詳しく説明しません。これらのプロパティはクラス内で定義され、他のクラスでインスタンスを作成する際に利用されます;
- 2番目の写真では、クラスのオブジェクトをコンストラクタを使って作成し、その際にクラスのプロパティを定義している様子がわかります。OOPパラダイムで操作するのは、まさにこれらのオブジェクトです。これらのオブジェクトは独自のプロパティやメソッドを持ち、それらを呼び出すことができます。
一見シンプルに見えるかもしれませんが、実はこれがOOPプログラミングの本質です。ただし、OOPプログラミングの原則についても考慮することが重要です。その一つである「継承」については、次の章で説明します。
1. 最もスケーラブルとされるプログラミングパラダイムはどれですか?
2. 手続き型プログラミングと関数型プログラミングの主な違いは何ですか?
すべて明確でしたか?
フィードバックありがとうございます!
セクション 2. 章 1
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 2. 章 1