[661] Re:オブジェクト指向「初」入門
投稿者:CES
2007/02/20 02:13:25
#話が脇にそれてたので源流復帰。
> ・大規模なプログラムの開発でないと効果を発揮しない
どの程度のことを「大規模」と言うかわかりませんが、オブジェクト指向が適用できない(適用する必要が無い)ほど小規模なものとなると、せいぜい 50 行…いや、20 ~ 30 行程度のプログラムになってしまうかなー、と。
> ・プログラムを分割することが大切
YES。それすげぇ大切。
> ・デザインパターン(設計)を知らないといけない(?
知っていて損はないけれど、必須ではないと思う。俺も知らないし。
>そしてここのオブジェクト指向再入門で言っているマルチプルインスタンスというのは
オブジェクト指向の一番の基礎はカプセル化です。
カプセル化ってのは、「データと処理をペアにして、このペアを最小単位として考える」ことです。
マルチプルインスタンスってのは、このペアがいっぱいあることです。
>では、ここからが自分の疑問の核心なのですが、手続き型の学習の中で(あるいは小規模すぎるプログラムの中で)でもオブジェクト指向を実践する方法はないだろうか、ということです。
目的が良くわかんないです。
まず、「オブジェクト指向」と「手続き型」は対立しません。
現在主流のオブジェクト指向言語は、手続き型言語に、オブジェクト指向のサポートを加えたものです。
ですから、「手続き型の中でオブジェクト指向を実践」するということは、立派にオブジェクト指向です。
「手続き型の中でオブジェクト指向を実践」とは、どんなことを意図されて書かれたのでしょう?
> ・「開放・閉鎖の原則(OCP:Open-ClosedPrinciple)」
これは「よりよいオブジェクトの設計のための指針」なので、初歩でまず覚えるべきことではないような気がします。
>しかしそのためには手続きを分節化し、プログラムを設計する能力がいるだろう、と思っています。
これはオブジェクト指向でなくとも、多かれ少なかれ必要な能力です。
>このような場合に、デザインパターンが有効なのだと思いますが、具体的にどうプログラムを組むのか、というところで自分は躓いている状況です。
別の掲示板で、素晴らしい言葉を見つけました。この言葉を送ります。
Good judgement comes from experience, and experience comes from bad judgement.
(よい判断は経験から来ます。また、経験は悪い判断から来ます。 )
Experience is a wonderful thing. It enables you to recognize a mistake when you make it again.
(経験は素晴らしいものです。再びそれを作る場合、それによって誤りを認識することができます。)
まぁ、最初のうちはわからないなりに模索して失敗してみろって事ですね。
そのうち、だんだんとありがたみがわかってくると思います。