Open zerebom opened 3 years ago
本書はオブジェクト指向について様々な角度で説明した書籍である。 具体的には、
などが説明されている。
などが大きな理由である。
本書では
説明することで上記の混乱を避ける。
下記のようなプログラミングの進化の遍歴の中でうまれた。
プログラミングは徐々に人が読みやすいように進化してきた。 構造化プログラミングの時点で、グローバル変数と貧弱な再利用性が欠点としてあり、これらを解決するために誕生した。
構造化言語にない以下の3大要素を追加することで、関連する情報を一つにまとめ、重複した表現を取り除くことができる。結果再利用性を増した。
それぞれ詳しく説明する
クラスの効用は以下の3つ
まとめる 関数と変数を一つの場所に格納できる。 また、命名も簡単になる。 クラス内にグローバル変数(=インスタンス変数)も定義できる。
# func def open_txt_file(): ... def close_txt_file(): ... # class class TextReader(object): def open(): ... def close():
共通メインルーチンを作るための仕組み。 呼び出される側のI/Oを共通化することで、 呼び出し側はどんなインスタンスを読んだか意識しなくて良い
class TextReader(object): def open(): ... def close(): class TextFileReader(TextReader): def open(): ... def close(): class NetWorkReader(TextReader): def open(): ... def close(): # サブクラスが何であっても呼び出せる def get_count(reader: TextReader): return len(reader.open())
[WIP]
概要
本書はオブジェクト指向について様々な角度で説明した書籍である。
具体的には、
などが説明されている。
オブジェクト指向が難解な理由
などが大きな理由である。
本書では
説明することで上記の混乱を避ける。
オブジェクト指向が生まれた理由
下記のようなプログラミングの進化の遍歴の中でうまれた。
プログラミングは徐々に人が読みやすいように進化してきた。
構造化プログラミングの時点で、グローバル変数と貧弱な再利用性が欠点としてあり、これらを解決するために誕生した。
オブジェクト指向について
構造化言語にない以下の3大要素を追加することで、関連する情報を一つにまとめ、重複した表現を取り除くことができる。結果再利用性を増した。
それぞれ詳しく説明する
クラス
クラスの効用は以下の3つ
まとめる
関数と変数を一つの場所に格納できる。
また、命名も簡単になる。
クラス内にグローバル変数(=インスタンス変数)も定義できる。
クラスの内部だけで使う変数や関数を外部からアクセスできなくする
一つのクラスから複数のインスタンスを作る
同種の情報を複数扱うときも、 インスタンスをたくさん生成すれば良い。
ポリモーフィズム
共通メインルーチンを作るための仕組み。
呼び出される側のI/Oを共通化することで、 呼び出し側はどんなインスタンスを読んだか意識しなくて良い
継承
[WIP]