これまでいろいろな書籍やサイトから情報を得てきて、オブジェクト指向のプログラムを、「知識とスキルを持った職人をいっぱい雇ったプロジェクト」というように理解している。
極論を言えば、オブジェクト指向=擬人化思考というように捉えているけれど、この理解はどの程度あっているのだろうか?
とすると、
職人は、会社の指示によって働き、持っている知識とスキルを使って仕事をする。
知識やスキルは、各職人が会社に指示されたマニュアルを読んで覚える。
とか
オブジェクト指向が特に有用なのは、特に複数の会社と協力して作業する場合である。
そのような大規模なプロジェクトであるならば、各企業の職人一人一人に指示するよりも、マニュアル一つで指示した方が簡単だし、間違いが少ない。
オブジェクト指向の三大概念として、いろいろな媒体で紹介されている「継承」「ポリモーフィズム」「カプセル化」も、それぞれ「一つのマニュアルを用意して、職人に利用してもらいやすくする」「各職人は、自分にとって必要なマニュアルの一部を読んで知識とスキルを手に入れる(ここの理解は自信がない)」「マニュアルは、職人によって勝手に書き換えられないようにするべき」みたいな感じでなんとなく理解している。
ただ、根本のオブジェクト指向がよくわかっていないため、これが合っているのかもわからない。
のだけれど、なんとなく色々勉強してきて、複数人とプログラムを組むとか、大きなプロジェクトとかでもない限り理解していなくても問題なさそうなので、回収率100%を超える競馬プログラムが出来上がるのを夢見て寝ます。