[1672] Re:オブジェクト指向のメリット
投稿者:たいやき
2011/01/13 22:24:25
>JavaでServletを使う場合も、オセロ盤のインスタンスが複数作れないと、
>同時に複数の対戦を行うのはかなりやりにくくないですか?
>たいやきさんがどのような作り方を想定しているのか具体的に
>教えていただけると嬉しいです。
この質問に答える前に、私はオブジェクト指向が分かっているのか/分かってないのかすら分かりませんが、自分なりにオブジェクト指向とは、
「従来(非オブジェクト指向)のプログラミングを多少なりとも楽にする技術や概念の総称」だと理解しています。
そのオブジェクト指向の考え方を利用した技術や考え方として、フレームワーク、
ザインパターン、UML、オブジェクト指向プログラミングといった技術がありますが、
このサイトではオブジェクト指向プログラミングに焦点を当てておられるので、
それに特化してみると、クラス・継承・ポリフォーフィズムという3つの技術が
あると思います。
クラスには、メンバー変数を隠したり、メンバー変数やメソッドをまとめたり、
オブジェクトをたくさんつくれるというメリットがあります。
継承には、重複コードを省くというメリットがあります。
ポリモーフィズムには、ロジックの共通化というメリットがあります。
この中にはオブジェクト指向でなくても出来る点はありますが、オブジェクト指向でも
使える訳で、これらを使うことにより、結果として、従来のプログラミングより
多少なりとも楽が出来るというのが、オブジェクト指向プログラミングだと思います。
これが正しいかどうかわかりませんが、仮りに正しいとすると、他の言語でも出来るとか、最初に覚えることではないとかではなく、
これらを一つ一つ丁寧に説明することが、「疑りぶかい人」へオブジェクト指向
をちゃんと説明することになると思っています。
他の説明を置いておいて、クラスのメリットであるオブジェクトをたくさん
作れることを主眼に置いて説明することは、「疑りぶかい人」にオブジェクト指向を
正しく理解してもらえることにはならないと思います。(私がそうでした。)
このサイトは、下手なオブジェクト指向の説明にたいするアンチテーザとして作られた
サイトだと思っていますので、このサイトを見た人がさらに挫折することの無いような工夫を期待します。
オセロゲームですが、普通に一つのオブジェクトしかつくれないようなプログラムを書いておけば、サーブレットから起動されればそれぞれのオブジェクト(オセロ盤)が
作られますから、マルチインスタンスを気にしなくてもよいと思います。
イメージ沸きますでしょうか。