TL;DR
「オブジェクト指向でなぜつくるのか」を読んだまとめ。
https://www.amazon.co.jp/dp/4822284654
「オブジェクト指向」が生まれるまでの歴史
WIP
「オブジェクト指向」とは?
- 以前までに普及していた構造化言語にはない下記の三つの仕組みが備わっている言語
- カプセル化(クラス)
- ポリモーフィズム
- 継承
- 構造化言語では解決できなかったグローバル変数の乱用と再利用性の貧弱さを解消している
- グローバル変数を利用しない仕組み
- 共通サブルーチン以外の方法で再利用性を高める仕組み
オブジェクト指向の三大要素
①カプセル化(クラス)
①-1 まとめる
- クラスを宣言することによって関連する変数と処理をまとめることができる
- まとめた時の変数を「インスタンス変数」、処理を「メソッド」という
- 関連する処理をまとめることによって処理の分類と部品化ができ、プログラムの見通しが向上する
- 変数やメソッドはクラス内で一意であればよいので命名が明解、簡略になる
①-2 隠す
- アクセス修飾子を用いることによってインスタンス変数やメソッドへの参照を制御し、影響範囲を狭めることができる
- グローバル変数のように「どこから参照されているかわからない」といった状況を減らすことができる
①-3 たくさん作る
- クラスを一度定義すれば実行時にいくつでもインスタンスを作成することができる
- インスタンスはそれぞれ独立しているので、あるインスタンスの呼び出しは他のインスタンスに影響を及ぼさない
- インスタンスを複数作成することによって同じ種類の情報を複数同時に扱う処理でも、シンプルにその処理を記述できる