@IT情報マネジメント会議室は、2009年4月15日に新システムに移行しました。
新たに書き込みを行う場合には、新しい会議室をご利用ください。
新たに書き込みを行う場合には、新しい会議室をご利用ください。
- @IT情報マネジメント 会議室 Indexリンク
- IT戦略
- 仕事の改善
- アーキテクチャ
- プロジェクト管理
- ITインフラ
- Webマーケティング
- BPMプロフェッショナル
- 業務アプリ
- - PR -
オブジェクト指向の理解度を測るためには?
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-06-08 14:10
msoです。
いろいろな意見ありがとうございます。 稚拙な脳しか持たない私にはいきなり全部を 理解することは無理ですが徐々に吸収していきたいと思っています。 というか、把握しているつもりのオブジェクト指向を まったく把握してないことに気がつきました。 クラス設計とか結構がんばっていたのに、考えが足りないことを 痛感しております。 んで、仕事もしないでアレコレと
についていろいろと考えていました。 今までは自分の考えと違うので、アノ人の考えは間違っている!と 否定的になっていたのですが、今度は逆にアノ人はあっている!と 仮定して考えることにしました。 そうしたところは以下のように結論付けました。 オブジェクト指向プログラム:データ中心(マルチプルインスタンス)のプログラム 構造化プログラム :順次、分岐、繰り返しを駆使してのプログラム #構造化プログラムに関してはどうしても納得できず えっと、いろいろな意見をいただいてうれしいのですが、 まだ理解できません。 返事はちょっとだけ待ってください。 | ||||||||
|
投稿日時: 2004-06-08 15:50
構造化プログラミングとは、「機能を実現する為の抽象機械をまず設計して、そこからトップダウンでデータ構造・機能の設計を詳細化していく」(段階的詳細化)という点が主であって、gotoを使わないとか順次・分岐・繰返しだけでコーディングするとかいうのは従たる部分に過ぎないと思います。 データ中心(DOA)なんかは構造化の時代からあった話ですし、オブジェクト指向はやっぱり「オブジェクト中心」なんじゃないかと思います。カプセル化・継承・多態なんてのも結局のところOOの本質ではなく、OOの目的の為の手段に過ぎないのでは。 | ||||||||
|
投稿日時: 2004-06-08 17:39
msoです。
ああ、なるほど。 構造化プログラミングについてかなり勘違いをしていた気がします。 嗚呼、10年ぐらい勘違い・・・ で、
つまるところ私はここが正直説明できないのです。 オブジェクト中心なのはなんとなく分かる気がするのです。 そこでオブジェクト中心→データ中心→マルチプルインスタンスと定義したいのですが、 それはそれで何か違う気がしています。 #本能がちがうって騒ぎます。 何か違うと思ったまま誰かに教えて、そこを説明してくれって言われると 困るのですが、オブジェクト中心→データ中心→マルチプルインスタンスって ことでいいのでしょうか??? #なんかどんどん理解度を測るとは違うほうに・・・別スレ立てたほうがいいでしょうか? | ||||||||
|
投稿日時: 2004-06-09 10:05
自分の理解度を測っている、ってことでいいんじゃないでしょうか あ、私の理解度も測られている!? 私としては、「データ」は“情報”しか含んでおらず、対して「オブジェクト」は“情報”だけでなく“振る舞い”も含んでいます。喩えるなら、Cの構造体は“情報”しかありませんよね。関数へのポインタを持たせて擬似的に“振る舞い”を定義することはできますが、あくまで擬似的なものですから。しかし、クラスにはメソッドという“振る舞い”も定義されます。 その意味で、msoさんの『オブジェクト中心→データ中心』の矢印が『オブジェクトよりも大きなものとしてのデータ』ということを表しているなら、違和感を憶えます。 単に「データ中心」ということなら、Cの構造体などで、関連性のある情報を1つにまとめて扱うことで実現されていると思います。「オブジェクト指向」に発展したのは、単に情報を保持するだけではなく、情報の扱い方を内包することで、情報が変更になったときの変更をいかに小さく押さえ込むか、というところにあると思います。 #「結合を疎にする」という、設計手法かな? | ||||||||
|
投稿日時: 2004-06-09 10:53
るぱんです。
言葉の確認でレスです。 マルチプルインスタンスで?です。 「片仮名」及び「横文字」は苦手です。 クラスから複数の実体を生み出す事・・・と受け取っていますが、意味合ってます? 一つのソースコードから複数の「違う」実体を意図的にメモリ上に作り出す事・・・? こんな意味で捉えています。 最初に言葉の定義が無いと初めての人は講習受けてもわからないのでは・・・? cf: multiple http://dictionary.goo.ne.jp/search.php?MT=multiple&kind=ej instance http://dictionary.goo.ne.jp/search.php?MT=instance&kind=ej マルチプルインスタンス http://kmaebashi.com/programmer/object/intro.html | ||||||||
|
投稿日時: 2004-06-09 12:33
msoです。
えっと矢印は大きなものということじゃなくて、 オブジェクト中心=データ中心 という感じで捉えていただきたいです。 ただ、オブジェクト中心という考えを元にデータ中心という 遷移を表すために矢印をつかっています。 →を使うよりは=を使うほうが私の考えをあらわすには適切でした。
えっと、実は自分も100%の確信で書いていませんので、突込みをしていただけるとうれしいです。 (90%ぐらいは確信しているつもりです) 単語の確認ですが、るぱんさんのご指摘と同じです。 | ||||||||
|
投稿日時: 2004-06-09 12:57
約一年ぶりぶりくらいの書き込みです。
最近、オブジェクト指向に興味を持ち始めたものなので あまり的を射た意見ができないかもしれませんが ちょっと、ここまで読んでみて思ったので質問させてください。 ここまで読んでみて、オブジェクト指向は「データ中心だ」とか 「オブジェクト中心だ」と言う内容を見かけましたが オブジェクト指向では、データも一つのオブジェクトとして 考えるものではないのでしょうか? たとえば、「人」クラスのインスタンスである「私」が 石造を作る際には「作る」と言う振る舞いに 「大きさ」などの属性を持った「石」と言うクラスのインスタンスである 「大理石」を渡すと、「お地蔵さん」が出来上がる。 といった具合に考えているのですが・・・ (大理石でお地蔵はないだろという突っ込みは無しでお願いします ) ここで言う「大理石」が私の言っているデータなのですが どうなんでしょうか? って、msoさんのスレッドに便乗して 自分の認識レベルを図るようで申し訳ないですが・・・ | ||||||||
|
投稿日時: 2004-06-09 13:14
るぱんです。
個人的に後輩に教える時に言っている言い回しです。
と言った所です。 たたき台を出したのでどんどん叩いてやってください。 |