2022-09-09

オブジェクト指向ってこういうこと?

これまでいろいろな書籍サイトから情報を得てきて、オブジェクト指向プログラムを、「知識スキルを持った職人をいっぱい雇ったプロジェクト」というように理解している。

極論を言えば、オブジェクト指向擬人化思考というように捉えているけれど、この理解はどの程度あっているのだろうか?

会社プログラマー

職人=ありとあらゆるオブジェクト

知識データプロパティ

スキル関数メソッド

マニュアルクラス

職人マニュアルを読ませる=インスタンスを生成する

よその会社職人=外部ライブラリとか

とすると、

職人は、会社の指示によって働き、持っている知識スキルを使って仕事をする。

知識スキルは、各職人会社に指示されたマニュアルを読んで覚える。

とか

オブジェクト指向特に有用なのは特に複数会社と協力して作業する場合である

そのような大規模なプロジェクトであるならば、各企業職人一人一人に指示するよりも、マニュアル一つで指示した方が簡単だし、間違いが少ない。

かに置き換えて理解できて、(自分的には)理解やすい。

オブジェクト指向の三大概念として、いろいろな媒体で紹介されている「継承」「ポリモーフィズム」「カプセル化」も、それぞれ「一つのマニュアルを用意して、職人に利用してもらいやすくする」「各職人は、自分にとって必要マニュアルの一部を読んで知識スキルを手に入れる(ここの理解は自信がない)」「マニュアルは、職人によって勝手に書き換えられないようにするべき」みたいな感じでなんとなく理解している。

ただ、根本オブジェクト指向がよくわかっていないため、これが合っているのかもわからない。

のだけれど、なんとなく色々勉強してきて、複数人とプログラムを組むとか、大きなプロジェクトとかでもない限り理解していなくても問題なさそうなので、回収率100%を超える競馬プログラムが出来上がるのを夢見て寝ます

(書いたのを読み返してみると、「会社プログラマー」よりも「プログラマー会社」の方が一般的な気がする)

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん