オブジェクト指向
システムにしたい事象を構成する物体(オブジェクト)を中心にシステムを捉える考え方
オブジェクト同士がコミュニケーションすることでシステムが動作する
https://note.com/tokitky/n/n6e70d7e7a236
「変数と関数をひとまとめにしたクラスを作るスタイルのプログラミング」
「それぞれのクラスは、同じ変数や関数を共有するオブジェクトを作るのに使う」
「関数がクラスに含まれるとき、それをメソッドと呼ぶ」
「変数がクラスに含まれるとき、それを属性と呼ぶ」
----
基本概念
オブジェクト
クラス
継承
カプセル化
ポリモーフィズム
----
1998年にAn Introduction To Object-Oriented Programmingを出版したオレゴン大学コンピュータサイエンス教授ティム・バッドによると、この時期のアラン・ケイの構想はこのようになっていた
https://ja.wikipedia.org/wiki/オブジェクト指向
すべてはオブジェクトである。
コミュニケーションはオブジェクトに動作実効を要求するオブジェクトの相互通信で実効される。オブジェクトはメッセージの送受信でコミュニケーションする。メッセージはタスク遂行に必要なオブジェクトが付帯された動作要求である。
オブジェクトは自身の記憶を持つ。記憶は他のオブジェクトたちで構成されている。
すべてのオブジェクトはクラスのインスタンスである。クラスは数値集合やリスト集合といったように類似オブジェクトのグループ化をシンプルに表現する。
クラスはオブジェクトに関連付けられた振る舞いのリポジトリである。同じクラスのインスタンスである全てのオブジェクトは共通動作を実効できる。
クラスは継承階層と呼ばれる単一ツリー構造で組成される。クラスのインスタンスの記憶と振る舞いは、ツリー構造下の子孫であるクラスからも利用できる。