オブジェクト指向の3大要素
オブジェクト指向の3大要素とは?
- 継承
- カプセル化(データ隠蔽)
- ポリモーフィズム
この3つを合わせてオブジェクト指向の3大要素と呼び、オブジェクト指向言語によって実現できる3つの特徴であり、オブジェクト指向言語が備えるべき機能を表している。
オブジェクト指向言語であるJava、C++、Rubyなどはこの3つの機能を実装することができる。
Javaの例
継承
継承とは?
継承とはJavaで言う「extends」キーワードのこと。クラス間に親子関係を与えることができ、親クラスのフィールドやメソッドに子クラスからアクセスできるようになる。
継承をズバリ表現するなら「クラスの共通部分を別クラスにまとめる仕組み」といえるでしょう。
オブジェクト指向でなぜつくるのか
継承のコード例
継承はなぜ必要か?
継承のメリット・デメリットは?
カプセル化(データ隠蔽)
カプセル化(データ隠蔽)とは?
カプセル化(データ隠蔽)とはJavaで言う「private」や「protected」というアクセス修飾子を使って、インスタンスのフィールドに呼び出し元から値を取得したり、設定できたりすることを防ぐこと。
カプセル化(データ隠蔽)のコード例
カプセル化(データ隠蔽)はなぜ必要か?
カプセル化(データ隠蔽)のメリット・デメリットは?
ポリモーフィズム(多態性)とは?
ポリモーフィズム(多態性)とは?
ポリモーフィズム(多態性)とはJavaで言うと、変数の型はインターフェース(親クラス)で、値は実装クラス(子クラス)で宣言することで、実装クラスに応じて振る舞いが変わること。
「相手が具体的にどのクラスのインスタンスであるかを意識せずにメッセージを送れる仕組み」と言ってもよいでしょう。
ポリモーフィズムはサブルーチンを呼び出す側のロジックを一本化する仕組み、すなわち「共通メインルーチン」を作る仕組みである。
オブジェクト指向でなぜつくるのか
※「メッセージを送る」とは、メソッドを呼び出すこと。
※「ルーチン」とは、処理をまとめたもの、即ちメソッドのこと。
ポリモーフィズム(多態性)のコード例
ポリモーフィズム(多態性)はなぜ必要か?
ポリモーフィズム(多態性)のメリット・デメリットは?
呼び出す側(部品を使用する側)は、部品の中身を知らなくてもプログラム作成を進めることができる。呼び出す側に大きなメリットがあるのがポリモーフィズムである。