【オブジェクト指向】OO≠OOP【('A`)】
■ このスレッドは過去ログ倉庫に格納されています
0001('A`) ◆xVPrvmNY4Q
2006/08/28(月) 00:31:04OOPじゃなくOOについて纏め上げていくスレ
このスレでは
・もちろん設計段階からOOつかってるよ!
・人に教えるときOOを叩き込むようにしてるよ!
・OOを盛り込んだプログラミング言語つくる/ったよ!
・OO(ry
などというのがやってきて、OOについて熱く語ってくれるはず
プログラムにあんまり関係ないけど、正直良い板がなかったんだ
それでは開始
0002デフォルトの名無しさん
2006/08/28(月) 00:39:14どうもありがとうございました。
0003デフォルトの名無しさん
2006/08/28(月) 00:42:06深いな
オブジェクトには開始と終了があるということか
0004デフォルトの名無しさん
2006/08/28(月) 00:42:190005('A`) ◆xVPrvmNY4Q
2006/08/28(月) 00:46:51とりあえずまとまってるwikiでも載せておくか
http://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91
あとなんかこれ
http://www1.u-netsurf.ne.jp/~kitada/3H/
0006デフォルトの名無しさん
2006/08/28(月) 00:53:56http://www1.u-netsurf.ne.jp/~kitada/3H/ は痛すぎて正視できない
0007デフォルトの名無しさん
2006/08/28(月) 01:00:57ttp://news.80.kg/index.php?%BC%D9%B5%A4%B4%E3
みたいなのかと思ったよ。
0008デフォルトの名無しさん
2006/08/28(月) 01:01:57http://www.amazon.co.jp/exec/obidos/ASIN/4894716844
0009('A`) ◆xVPrvmNY4Q
2006/08/28(月) 01:11:20きっと純粋なOOは非常にシンプルすぎてとてもじゃないが1スレ消費できる量はないとおもう
まぁ冗長な表現がでるからもしかしたら>>400くらいまでいくかもしれないけど
OOがもしclass basedに限定されるのならデザインパターンは絶対的に有効なソフトウェア開発手法(?)だろうけど
prototype basedも含めるのならある種のデザインパターンはあまり意味をもたなくなるのもある(Factory/Stategy他)
というわけでOOはそもそもデザパタから遊離すべき考え方なのではないかと
0010デフォルトの名無しさん
2006/08/28(月) 01:14:49少なくともその本はプログラムの本じゃないし。
カプセル化を正しく書いている本はかなり少ないけど、その本はきちんと書いているよ。
0011デフォルトの名無しさん
2006/08/28(月) 01:14:51>残念ながらここではプログラミングは相手にしていないんだ
と言いながら、>>9ではOOPの呪縛から逃れられないように見えるが。
0012デフォルトの名無しさん
2006/08/28(月) 01:16:59とりあえず、
ttp://www.objectfaq.com/oofaq2/
でいうと、どのあたりの話がしたいのか教えてくれ。
0013('A`) ◆xVPrvmNY4Q
2006/08/28(月) 01:20:51本手元にないからあなたが感じたことをそのまま書いてくれると
スレ的に伸びが良い
>>11
どの部分?
>>12
きっとbasic、しかしclassやinstanceはobject orientedに必ず含まれるかあやしいと考えている俺ガイル
0014('A`) ◆xVPrvmNY4Q
2006/08/28(月) 01:26:32OOで言うところの、「オブジェクト」ってどのような責任を持っているモノなんだ?
(classから生成されなければならないとか、実はclassもオブジェクトなんだとか、
色々有るけど明文化されてるのを見たことが無い)
眠い
0015デフォルトの名無しさん
2006/08/28(月) 01:30:250016デフォルトの名無しさん
2006/08/28(月) 01:32:04OO FAQ読んでくれよ・・・
0017('A`) ◆xVPrvmNY4Q
2006/08/28(月) 01:44:29basicsから必要そうなの引っ張ってきた
・Object-orientation is a new technology based on objects and classes.
・Object-orientation is the use of objects and classes in analysis, design, and programming.
・Object-orientation is:
・View Of The World - A Better Approach ・Process
・Evolutionary - Boehm痴 Spiral Model and Prototyping
・Iterative/Incremental - Easy to add to systems ・Methods ・Analysis ・Design ・Implementation
・Languages ・Components/Middleware (Corba, EJB/Java, Microsoft/COM)
・Programming Technique
あと
・Why Did OO Arise?
・Modeling in analysis and software design and languages for programming originally focused on process.
で、basicsから既にOOの道を外していると思うのだが
しかも簡素ではない、外延的にOOが出来ること/表現していることをズラズラならべられてもなぁ…
0018デフォルトの名無しさん
2006/08/28(月) 01:48:29さらに使い方も違うし、これらの共通性をくくったところで何の意味もないと思うんだが。
0019('A`) ◆xVPrvmNY4Q
2006/08/28(月) 01:50:43object orient でググって見つかりそうなの
・object oriented (design) with programming
・object oriented data structures with java
・object oriented data base system
・object oriented WebForms
・object oriented with 〜
この世界にはたとえば使われて初めて形が見えてくるものがある
その一種に object oriented があるとすれば、そもそも「OOとは何か」についての俺の疑問はナンセンスであり
「OOPとは何か」や「OOを使った何か」に関して、「OO以外の何か」の部分に重点をおくべきだったのか?
・・・でもOOって何?
0020('A`) ◆xVPrvmNY4Q
2006/08/28(月) 01:53:53だからプログラミングは切り離せって
class based なのか prototype based なのかが問題じゃない
OOについて書いていって欲しいなと>>1に(ry
ところで「共通性を括る」と示唆した意味は?
共通性があってそれを括れるものだと感じている?
括れば何か見つかると思っている?
…まぁ、いいか
0021デフォルトの名無しさん
2006/08/28(月) 01:54:30継承、カプセル化、多態、終了
0022デフォルトの名無しさん
2006/08/28(月) 01:56:35ということは、クラスベースとプロトタイプベースに共通するような概念がないとダメじゃないか。
せめて、「どちらにも」ないことにはどちらかに偏ってしまうことになる。
0023('A`) ◆xVPrvmNY4Q
2006/08/28(月) 01:57:17それら全てだけOOに必要なことなのか?
それが全てで無いとしたらどこまでOOは責任を持っている?
あと、プログラミング言語として「カプセル化」があるが、これはOOによる表現を明示的にサポートしていないCでも実現されてるんじゃね?
0024デフォルトの名無しさん
2006/08/28(月) 01:58:29おい、言語の話になってるぞw
0025デフォルトの名無しさん
2006/08/28(月) 01:59:230026('A`) ◆xVPrvmNY4Q
2006/08/28(月) 02:03:12ということはそもそも、OOにはクラスベースかプロトタイプベースかの違いがあることでFA?
オレ的にはクラスもプロトタイプも、オブジェクトとしての性質を持ってるから反対したいんだがな。
>>24
いや、「カプセル化」の一つの具体例として思いついたのがプログラミング言語としてのそれ
他にも有るだろうが、俺もプログラマの端くれだからこの程度しか思い浮かばなかった
>>25
言語はどうでもいい
OOについて
あと、俺は語らないぞ?>>1を読んでくれ
0027デフォルトの名無しさん
2006/08/28(月) 02:06:14OOAにしたって、OODにしたって、少しは実装する言語を考えないといけないだろ?
ってことはOO自体も、何らかの実装があってはじめてOOだよな?
で、実装ってのは何種類もあっていいわけだ。
ま、最低限>>21が条件だわな。
これがあることをもとに、OOAやらOODやらOOPをするんだろ。
つまり、>>19はOOのインターフェイスともいえる。
0028('A`) ◆xVPrvmNY4Q
2006/08/28(月) 02:06:37人に伝えるからには表現しなくてはならないが、表現することによってOOの形の限界が見えてしまう。
たとえばC++で表現すればC++の限界がOOで、
UMLで表現すればUMLの限界がOOとなる。
(なので日本語でOOを表現すればいいんじゃないかと思うんだが)
概念を表現する便利な方法が思い浮かばないんだが、もしかしたらオレ以外の人間が成し遂げているかもしれない
俺はそれを待っている
0030デフォルトの名無しさん
2006/08/28(月) 02:11:27これが必要条件。
その見方を分析に使えばオブジェクト指向分析。
設計に使えばオブジェクト指向設計。
プログラミングに使えばオブジェクト指向プログラミング。
で、
クラスとかプロトタイプってのはおまけだと思うな。
スレ汚しスマソ
0031('A`) ◆xVPrvmNY4Q
2006/08/28(月) 02:18:36OO単体は存在しないでFA?あくまで誰かが意味をつけ、形を与えて初めてOO足りえる?
「誰かが意味をつける前」の意識はOO以外の何かの思想ってことになる。
となると、「その思想にどういった形を与えればOOと呼べるのか?」という検証する部分が必要になり、
OOにはもともと「こうあるべきだ」という姿があることになる。
これはOO単体が存在しないことと矛盾するのでは?
あと>>21なんて俺からすればナンセンス、
継承?それはクラスベースか?
カプセル化?それはスコープ解決だけじゃ?
多様?そもそも様とはなに?「今まで静的に解決できていたけど、今度から動的に解決する方法も組み込みました」程度なのでは?
>>30
俺も同意する。
オブジェクトにメッセージを投げると、オブジェクトがそれに反応する。
そういった相互作用による全体がオブジェクトシステムであり、
オブジェクトシステムをゴニョゴニョ考えるのがOOなのではないかと薄々感じている
…けど>>27みたいなのもあるし。
0032デフォルトの名無しさん
2006/08/28(月) 02:22:59>継承?それはクラスベースか?
だから、それを意識してる時点でだめだろう、と。
実装は関係ない。「継承」というインターフェイスがあるのみ。
あと、カプセル化はスコープ解決だけじゃないんで。
それは「情報隠蔽」
多様は、まさに>>30のようなこと。
概念を話そうとして、結局実装を意識してしまっているじゃないか。
それこそが一番の矛盾だ。
0033デフォルトの名無しさん
2006/08/28(月) 02:29:080034('A`) ◆xVPrvmNY4Q
2006/08/28(月) 02:31:02了解
まぁ勉強しろってことだな
よし、おやすみ
0035デフォルトの名無しさん
2006/08/28(月) 02:50:18いや、1.1以降も読んでくれよ・・・
0036デフォルトの名無しさん
2006/08/28(月) 02:53:31>・Modeling in analysis and software design and languages for programming originally focused on process.
を抜き出したのか意図がわからんが、それ"forcused"だぞ。
ちゃんと読んでるのか?
0037デフォルトの名無しさん
2006/08/28(月) 02:54:18forcusedじゃなくてfocusedね。
0038デフォルトの名無しさん
2006/08/28(月) 02:56:18>>31
>オブジェクトにメッセージを投げると、オブジェクトがそれに反応する。
Actor理論を踏また上で書いてる?
0039('A`) ◆xVPrvmNY4Q
2006/08/28(月) 09:09:16>>35-37
35: そういわれてもなぁ。ま、一応読んだのはbasicsの所だし、俺の読んだ部分が間違っているわけでもなかろうと思うが
36: on processが気になるのか?
>>17は Object-oriented is な部分で少し引っ張ってきただけだがなぁ
>>38
理論なんて俺にはほぼ皆無
トライ&エラーな人間だから、基本的にバカ言うぞ俺は
だからここを建てたわけだが
('A`)ノシ
0040デフォルトの名無しさん
2006/08/28(月) 09:25:15>35: そういわれてもなぁ。
だから、basicsの1.1以降も読んでくれって。
>36: on processが気になるのか?
何を言ってるのかわからん。
「processにfocusしてきた結果software crisisを招いた、だから〜」という章だぞ?
0041デフォルトの名無しさん
2006/08/28(月) 09:26:310042デフォルトの名無しさん
2006/08/28(月) 09:28:37>28:たとえばC++で表現すればC++の限界がOOで、
この意味がわからん。
もうちょい詳しく説明してよ。
0043デフォルトの名無しさん
2006/08/28(月) 09:30:54なら Actor理論 または アクター理論 でぐぐってみるべし。
ちょっと視野が広がるかも
0044デフォルトの名無しさん
2006/08/28(月) 09:38:070045デフォルトの名無しさん
2006/08/28(月) 09:40:53とりあえず、「クラスベース」とか「プロトタイプベース」とかいう言葉を発言からなくせ。
OOPLを意識してるのはお前のほうじゃないか。
0046デフォルトの名無しさん
2006/08/28(月) 09:41:59それを何回いってもわからない>>1です。
ご了承ください。
0047デフォルトの名無しさん
2006/08/28(月) 09:42:39いや、どう考えてもOOの概念が先ですから。歴史的に見ても。
0048デフォルトの名無しさん
2006/08/28(月) 09:50:42とりあえず、Smalltalkくらいやってくれよ
0049デフォルトの名無しさん
2006/08/28(月) 09:50:59この意味を誰かおせーてーーー
0050デフォルトの名無しさん
2006/08/28(月) 10:01:53>>1は、OOについて語りたいんだろ?
ということは、クラスベースとプロトタイプベースに共通するような概念がないとダメじゃないか。
せめて、「どちらにも」ないことにはどちらかに偏ってしまうことになる。
26 :('A`) ◆xVPrvmNY4Q :2006/08/28(月) 02:03:12
>>22
ということはそもそも、OOにはクラスベースかプロトタイプベースかの違いがあることでFA?
オレ的にはクラスもプロトタイプも、オブジェクトとしての性質を持ってるから反対したいんだがな。
ちょっとマテ、その「オブジェクトとしての性質」ってのが>>22のいいたかった「共通するような概念」のことだろ。
なんか>>1って電波な人に思えてきた。
0051デフォルトの名無しさん
2006/08/28(月) 10:10:02何に対してでも「そんなものがある(としたら?)」と考えることでしかないわけで。
責務などの話が出てきたら OOD/OOP の話になるわけで
0052デフォルトの名無しさん
2006/08/28(月) 10:30:50質問スレか初心者スレでやってくれ。
■ このスレッドは過去ログ倉庫に格納されています