2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【OO?】オブジェクトオリエンテッド総合【非OO?】

1 :Java曹長:03/01/04 14:29
このスレは、なんかム板でにわかに(一部で?)険悪なムードになりつつある、
「OO派」と「非OO派」のコロシアムのようなスレです。
初心者も基本的には歓迎ですが、用語くらいはまず自分で調べてから語りましょう。

OO .. Object Oliented の略。「オブジェクト指向」の意。
   詳細はとりあえず http://e-words.jp/?w=%83I%83u%83W%83F%83N%83g%8Ew%8C%FC 等を参照。

関連スレ:

【常識】 OO厨房は戦場では必要無し! 【事実】
  http://pc3.2ch.net/test/read.cgi/tech/1041230298/

【C++】2ちゃんねらーはOO嫌い?【Java】
  http://pc3.2ch.net/test/read.cgi/tech/1026974531/


2 :デフォルトの名無しさん:03/01/04 14:30
また木違いコテハン登場か。

3 :デフォルトの名無しさん:03/01/04 14:32
過去ログはこちら

第1刷 http://piza.2ch.net/tech/kako/975/975576060.html
第2刷 http://piza.2ch.net/tech/kako/990/990082077.html
第3刷 http://piza2.2ch.net/tech/kako/993/993933402.html
第4刷 http://pc.2ch.net/tech/kako/998/998403891.html
第5刷 http://pc.2ch.net/tech/kako/1001/10019/1001998049.html
第6刷 http://pc.2ch.net/tech/kako/1004/10041/1004183881.html
第7刷 http://pc.2ch.net/tech/kako/1006/10069/1006910650.html
第8刷 http://pc.2ch.net/tech/kako/1008/10089/1008908052.html
第9刷 http://pc.2ch.net/tech/kako/1010/10106/1010673275.html
第A刷 http://pc.2ch.net/tech/kako/1012/10125/1012536901.html
第11刷 http://pc.2ch.net/tech/kako/1014/10144/1014478527.html
第12刷 http://pc.2ch.net/tech/kako/1016/10166/1016631412.html
第13刷 http://pc.2ch.net/tech/kako/1018/10187/1018752281.html
第14刷 http://pc.2ch.net/tech/kako/1021/10210/1021034822.html
第15刷 http://pc.2ch.net/tech/kako/1023/10230/1023005362.html
第16刷 http://pc.2ch.net/tech/kako/1024/10247/1024791990.html
第17刷 http://pc3.2ch.net/test/read.cgi/tech/1026281505/
第18刷 http://pc3.2ch.net/test/read.cgi/tech/1028011741/
第19刷 http://pc3.2ch.net/test/read.cgi/tech/1029377510/
第20刷 http://pc3.2ch.net/test/read.cgi/tech/1030606700/
第21刷 http://pc3.2ch.net/test/read.cgi/tech/1031809334/
第22刷 http://pc3.2ch.net/test/read.cgi/tech/1033050979/
第23刷 http://pc3.2ch.net/test/read.cgi/tech/1034088067/
第24刷 http://pc3.2ch.net/test/read.cgi/tech/1035354069/
第25刷 http://pc3.2ch.net/test/read.cgi/tech/1036597434/
第26刷 http://pc3.2ch.net/test/read.cgi/tech/1037987061/
第27刷 http://pc3.2ch.net/test/read.cgi/tech/1039062864/

4 :デフォルトの名無しさん:03/01/04 14:34
× Oliented
○ Oriented

5 :デフォルトの名無しさん:03/01/04 14:35
ttp://homepage1.nifty.com/montan/Kei.html からコピペ。

【アラン ケイ】パーソナルコンピュータの父と呼ばれる男

修士学位を取得後、大学院生としてユタ州にあるARPA(Advanced Research Project Agency:国防省高等研究計画局)の
プロジェクトに参加。
1969年に書いた博士号論文(Reactive Engine)の中で個人のためのコンピュータとして
「Dynabook(ダイナブック)」を発表した。
XEROXのPARC研究所にて1972年4月に 当時の技術で出来る範囲の「Dynabook」として「Alto 」を作る。
その改良版「Star」が完成したとき、Appleのスティーブ・ジョブスがXEROXに見学に来てStarを見て感激し、
Lisaの仕様を変更したのは有名な話だ。 XEROX退社後、1981年アタリ社に一時籍を置くが、
1984年にスティーブ・ジョブズに誘われアップル社ApplefellowとしてAppleにやって来る。

数カ月前にAppleを辞めディズニーインタラクティブ社に移ったという話だったが、
現在はジェネラル・マジック社にいると云う噂も・・・

1984年にアップルに来てすぐに、発売したばかりの Macintosh を見て
「4リッターのガソリンタンクしかないホンダ」と批判してジョブスが憤慨したというエピソードが残っている。
アラン・ケイに言わせると、「Macintosh は批判するに足る最初のコンピュータ」であり
「IBM PCはコメントするほどの価値も無い」そうだ。


6 :Java曹長:03/01/04 14:36
>>4
うわ、寒い。俺。失礼しました。m(_ _)m>ALL

7 :Java曹長:03/01/04 14:38
>>3
いやね、このスレって別に「質問スレ」にしたいワケじゃないんですよ。(>>1参照)

8 :デフォルトの名無しさん:03/01/04 14:40
>>7
System.dc();

9 :デフォルトの名無しさん:03/01/04 14:43
アンチスレ増やしてどうすんだよ。OO入門スレにしろ。

10 :デフォルトの名無しさん:03/01/04 14:47
>Java曹長
ホント寒いよ

11 :Java曹長:03/01/04 14:52
>>8
全然関係無いが、Javaのガーベジ・コレクタってなんかJava(クラスベースOO言語)の
実装の際の「必然から生まれた余計な仕事」って気がしてならない。

で、ガーベジ対象としてオブジェクトを認知する為には、COMみたいな「このインスタンスの使用回数」を
拾っておいて、その値で判断してるんだろうけど(VMの内部実装には疎いので、想像)、
結局これらの機能っていうのは、使う側からすると「意識しなくていい」分楽なんだけど、
「メモリ」っていう有限のリソースをやりくりする為に必要だった事だよね。
それを、System.dc(); みたいに「オブジェクトの振る舞い(Method)」のように
操作できるってのは、
なんか「中途半端にモノリシックで無い」感じがして、キレイな感じがしない
...と思っているのは、俺がOO厨だからか。(自嘲

12 :デフォルトの名無しさん:03/01/04 14:53
>で、ガーベジ対象としてオブジェクトを認知する為には、COMみたいな「このインスタンスの使用回数」を
>拾っておいて、その値で判断してるんだろうけど(VMの内部実装には疎いので、想像)、
終了ですか?

13 :Java曹長:03/01/04 14:54
>>9
うーん。それでもいいかも(柔軟


14 :デフォルトの名無しさん:03/01/04 14:56
Javaてよく知らないんだけど
System.gc()
じゃないの?

15 :Java曹長:03/01/04 14:56
>>12
すんません、そこで話切れてますね。っていうか関係なかったですね。
俺はアフォやーー!

16 :Java曹長:03/01/04 14:59
>>14
その通りです。って、"Garbage Collector"って言ってんじゃんか、俺。
なんか、俺自身がレベル下げてるような...。

17 :デフォルトの名無しさん:03/01/04 15:18
>>16
参照カウント方式がダメダメなことはとっくに証明されてなかったか?
GCについて勉強すれば必ず載ってることだけれど。


 A--B
  \ |
    C

18 :デフォルトの名無しさん:03/01/04 15:20
そもそもJavaのGCは参照カウント方式じゃないよ

19 :デフォルトの名無しさん:03/01/04 15:48
何だJavaのGCスレになったのか?

20 :デフォルトの名無しさん:03/01/04 15:49
話にならん。Java 曹長は勉強して出直してきてくれ。

21 :デフォルトの名無しさん:03/01/04 15:49
【常識】 OO厨房は戦場では必要無し! 【事実】
http://pc3.2ch.net/test/read.cgi/tech/1041230298/

こっちでやれ。

+++終了***

22 :デフォルトの名無しさん:03/01/04 15:52
やっぱりJavaを使ってOOのよさを始めて理解した気がするよ。

23 :デフォルトの名無しさん:03/01/04 15:52
>>1の振りが悪い

24 :デフォルトの名無しさん:03/01/04 16:01
GCなど不要。スマートポインタで十分。

25 :デフォルトの名無しさん:03/01/04 16:29
自分で解放しなきゃ逝けない言語は糞

26 :デフォルトの名無しさん:03/01/04 16:29
>>24
誰もC++だけについて話してる訳じゃないと思うけど・・・

27 :デフォルトの名無しさん:03/01/04 16:30
> 全然関係無いが、Javaのガーベジ・コレクタってなんかJava(クラスベースOO言語)の
> 実装の際の「必然から生まれた余計な仕事」って気がしてならない。
動的型付の smalltalk にもガベコレがあったのは気のせいだろうか?
もっと言うと構造化以前の言語の BASIC でも文字列はガベコレしてくれたのは
気のせいだっただろうか?

>>20
葉毛氏句同委!

28 :デフォルトの名無しさん:03/01/04 16:32
>>25
負荷の大きなオブジェクト解体とメモリ解放のタイミングを制御できない言語は糞。
さらにオブジェクト解体時のコードが実行される保証がない言語は糞。

という考え方もできるがどう思いますか?

29 :デフォルトの名無しさん:03/01/04 16:41
>>28
あー、せめて GC の実装を選択できればとは思うね(Java で)。
MSJVM がリファレンスカウントだったのも、あれはあれで利点があったし。

30 :Java軍曹:03/01/04 17:32
恐れながら。
自分は基本的にJava使いであり、また個人的にもそれを楽しんでいるものであります。
しかし研究者ではありませんので、自分はオブジェクト指向を語る事ができません。
が、このスレ、果たして>>1氏は何を求めて立てられたのでしょうか。

自分は単純で即物的な人間なので、このようなスレが何かの役に立つように思えません。
雑談を求めておいでなら、そのようなスレ、あるいは立ち上げ者の意図に反して
そのようなスレと化した既存の場所(笑 に行って頂けると、議論が集約されて
実のある話も聞かれようと思われます。

...ていうか、>>1氏。正直自分は貴殿を「曹長」だと思う事ができません。
是非、その位を取り下げて頂けまいかッッ!!



31 :デフォルトの名無しさん:03/01/04 17:33
>>30
あげくに自分の専門分野ではないと開き直りですか?
じゃあはじめからベラベラ語らなければいいのに。

32 :デフォルトの名無しさん:03/01/04 17:34
>>Java軍曹

あんたJNIスレにいた人でしょ。
要するにハンドルパクられて怒っているとww

33 :デフォルトの名無しさん:03/01/04 17:39
>>28-29
Javaのはなしだが。
不要になったオブジェクトにnullをポイントさせるのはどうか?
常識か?

finalize()メソッドをオーバーライドして自分でnullしてメモリ開放はどうか?

>>29
>>14のいうSystem.gc()じゃ不満? という話でもないか?

34 :デフォルトの名無しさん:03/01/04 17:42
>finalize()メソッドをオーバーライドして自分でnullしてメモリ開放はどうか?

nullにしてもメモリ開放のタイミングは不定不定不定不定不定不定不定不定ぃ!!!

35 :デフォルトの名無しさん:03/01/04 17:43
>>34
鬼の首でも見つけたか?

36 :デフォルトの名無しさん:03/01/04 17:45
済まぬ。我輩厨房を見るにつけ、つい激昂してしまった。許せ。

37 :Java曹長:03/01/04 17:46
>>軍曹
すいません。正直ハンドルパクりました。(おもしろかったので)

>是非、その位を取り下げて頂けまいかッッ!!
...以降、Java兵卒にします。
ていうか、正直今まだ勉強中なのです。Javaをきっかけにして、OOを。
俺もそれ自体(OOを学ぶ事自体)が楽しい人間です。

が、まだ勉強足りなかったですね。以後精進します。m(_ _)m

38 :デフォルトの名無しさん:03/01/04 17:48
Java三等兵にしれ

39 :1(元Java曹長):03/01/04 17:53
素直に1にします。すんません。
>>31

>>30(軍曹) は俺じゃないです。

40 :デフォルトの名無しさん:03/01/04 17:56
騙りかよ。プ

41 :デフォルトの名無しさん:03/01/04 18:31
1==曹長 , 30==軍曹
騙って無いと思うが。>プ

つーかレベル低いな、ここ。プ

42 :↑MVP(´∀`):03/01/04 18:52


43 :デフォルトの名無しさん:03/01/04 18:52
叩くばかりで育成せんのが日本の悪いところ。
生暖かく見守ってやろうよ。

44 :デフォルトの名無しさん:03/01/04 19:04
>>43
生暖かくかよ! チョトワラタ (w
つーか、このスレ。もったいないので、以後OO入門スレにケテーイ!!

45 :デフォルトの名無しさん:03/01/04 19:14
非OO派はいないのか?

46 :デフォルトの名無しさん:03/01/04 19:21
いまさらOOとか言ってる香具師がいるのか(w

47 :デフォルトの名無しさん:03/01/04 19:28
オブジェクト指向の基本要素。

1)カプセル化【Encapsulation】
2)継承【Inheritance】
3)多態性【Polymorphism】

この中でも中心となるのがカプセル化。後の2つはカプセル化の実現と
利便性のための補助機能でしかない。

そしてそれは、フロー中心(構造化指向)からデータ中心(オブジェクト指向)への
転換を表現する手段でもある。

48 :デフォルトの名無しさん:03/01/04 19:29
>>46
いまどき香具師(ヤシ)とか言ってる奴がいるのか(w

49 :デフォルトの名無しさん:03/01/04 19:31
■第一回、PerlOO入門■


50 :デフォルトの名無しさん:03/01/04 19:33
>そしてそれは、フロー中心(構造化指向)からデータ中心(オブジェクト指向)への
>転換を表現する手段でもある。
え?違うだろ。構造化で既にデータ中心を目指してるだろ。
お前、CやVBでどんなコード書いてたんだ?

51 :デフォルトの名無しさん:03/01/04 19:39
>>49
よりによって一番汚いOOをやり玉に挙げるのな。w

52 :デフォルトの名無しさん:03/01/04 19:45
>>50
>え?違うだろ。構造化で既にデータ中心を目指してるだろ。
>お前、CやVBでどんなコード書いてたんだ?
まだ、生まれていませんでした


53 :デフォルトの名無しさん:03/01/04 19:45
↓このスレから来たんですが、
「【常識】 OO厨房は戦場では必要無し! 【事実】 」
ttp://pc3.2ch.net/test/read.cgi/tech/1041230298/

なんか初心者の僕が質問できる空気じゃなかったので、質問!
「構造化」と「オブジェクト指向」って、相反するものなのですか?
どちらも「データを中心に」コードを書いていくというのなら、
どっちも同じなのでは無いのですか? ただプロシージャとして分割されているか、
クラスに包んでいる(カプセル化?)かの違いだけで。

作法の問題ですか?

54 :デフォルトの名無しさん:03/01/04 19:45
■第二回、PerlOO入門 - HelloWorld -■
#OoHelloWorld.pm
package OoHelloWorld;
sub new{bless {};}
sub hello_world{'Hello,World!';}
1;
#OoHelloWorldUsing.pl
package OoHelloWorldUsing;
use OoHelloWorld;
my $oo=new OoHelloWorld;
print $oo->hello_world;


55 :デフォルトの名無しさん:03/01/04 19:49
>>54
PerlでOOな書き方できるようになったのって、Perl5からだよね。
(ってPerlはウロ覚え&眼中無しなのでウソ情報かもしれない..)

56 :デフォルトの名無しさん:03/01/04 19:51
>>51
>よりによって一番汚いOOをやり玉に挙げるのな。

一番汚いのはVBでは無いか?

57 :デフォルトの名無しさん:03/01/04 19:53
> 一番汚いのはVBでは無いか?

実用環境に晒され、歴史が続くほど汚くなる法則だな。

キレイということは、つまり・・・

58 :デフォルトの名無しさん:03/01/04 19:57
Virginということだ。

59 :デフォルトの名無しさん:03/01/04 20:01
Ruby>>>SmallTalk>>>Java=C#>>>JerichoConsulting>>>>>>>Perl=VB

60 :デフォルトの名無しさん:03/01/04 20:03
>>59
Delphiはもはや論外か・・・。

61 :デフォルトの名無しさん:03/01/04 20:05
なんせ移行対象リストにすら挙げられてなかったからね>Delphi

62 :デフォルトの名無しさん:03/01/04 20:06
>>61
よく見るとC++もいないなw

63 :デフォルトの名無しさん:03/01/04 20:07
>>59
実用性と反比例していますね

64 :デフォルトの名無しさん:03/01/04 20:07
DelphiはVBのすてき版。

65 :59:03/01/04 20:11
s/Consulting/'sWall/;

66 :名無し@沢村:03/01/04 20:12
>>52
ヌヒよ、構造化はまだデータ中心を目指してはいないよ、ヌヒよ。
構造化とは単純にスパゲテイプログラムは読みにくいので、読みやすくすっきりまとめましょう程度のものだよ。
そこには処理の流れつまりフローチャートがあるだけで、まだデータ中心のかけらもないよ。
データ中心の発想が出たのはOOからだよ。
異説を唱えるな、ヌヒよ!!

67 :沢村 ◆SAWAKVNZoo :03/01/04 20:14
>>66
ああ、名前借りてるぞ。

68 :デフォルトの名無しさん:03/01/04 20:16
フローチャートは構造化以前ですぜ

69 :名無し@沢村:03/01/04 20:17
>>67
ヌヒよ、そういう名前の借り方はよし!!
ヌヒと俺が区別できるからな。ヌヒよセンスいいぞ!!


70 :デフォルトの名無しさん:03/01/04 20:24
ガページコレクトはありがたいけど、
デストラクタの呼び出しが言語のみ知る状態になるのがいやだ。
__finally があるぢゃんといわれればまーそーなんですが。

そんなオイラは C++ 使い。

71 :デフォルトの名無しさん:03/01/04 20:27
あ、沢村発見。
言ってる内容はともかく、なんだかんだ言って沢村の偉い所って、
「うるせーバーカ」的なガキみたいなレスしない所かもな。

っていうか、>>66のレスって、>>52 じゃなくて >>50向けだろ?
良く嫁!沢村!(w

72 :デフォルトの名無しさん:03/01/04 20:31
>>71=沢村=必死(w

73 :71:03/01/04 20:34
>>72
漏れ、沢村じゃ無ェス。失礼な。

74 :デフォルトの名無しさん:03/01/04 20:35
>>72
もうAya叩きはやめたのか?PC初心者板住人よ。

75 :デフォルトの名無しさん:03/01/04 21:46
時に、OOな言語としてのJavaにとって、"JSP"っていう存在はOOなものなのれすか?
※「コンパイルされてクラスになるんだから」云々の話は無しの方向で。


76 :デフォルトの名無しさん:03/01/04 21:50
>>75
JSPは別にOOとしてどうのっていう理由で生まれた訳じゃないから。
むしろJavaのサーバサイドテクノロジの破片のようなもの。

つーかキレイにオブジェクトでまとめたかったら、ServletからJspWriterに、
ECSで出力ってのはどうか。(ウソ

77 :デフォルトの名無しさん:03/01/04 22:52
漏れすぐにオーバーロードとオーバーライドが、
どっちがどっちだったか判らなくなっちゃうんですけど。
どうやって覚えたら良いですか?

78 :デフォルトの名無しさん:03/01/04 23:13
>>77
ガンガレ。

...でも、マジ初心者向けに、念のため。
OverLoad = あるクラスのメソッドについて、そこで受け取る引数の内容を変えたメソッドを用意する事。
 → 参考・「多態性」
OverRide = あるクラスのメソッドを、派生されたクラスのメソッドで置き換える事。
 → 参考・「継承」


79 :デフォルトの名無しさん:03/01/05 00:01
>>77
覚えやすい方だけ死ぬ気で暗記する。

80 :デフォルトの名無しさん:03/01/05 00:02
>>77
単語がごっちゃになるっていう意味ならいい方法がある。
過去形を覚えろ。
override は overridden で
overload は overloaded だ。


81 :デフォルトの名無しさん:03/01/05 00:02
>>78
ポリモルフィズムはオーバーライドの方だと思われ。

82 :デフォルトの名無しさん:03/01/05 00:03
書き間違えても警告してくれるから気にすんな。

83 :デフォルトの名無しさん:03/01/05 00:08
>>81
ていうか大薔薇井戸は「委譲」では?(ぽりもる=多々異性)

84 :デフォルトの名無しさん:03/01/05 00:34
>>83
委譲って、コンポジットに付随する概念じゃないの?

85 :デフォルトの名無しさん:03/01/05 00:38
本当の委譲は CLOS でしか見られないらしい。
オーバーライドと委譲の関係はまったくもって不明だが。

86 :デフォルトの名無しさん:03/01/05 00:46
例えばテンプレートメソッドパターンは
サブクラスにレスポンシビリティを委譲していると言えなくもないが、
普通は継承関係のあるクラス間で委譲という言葉は使わないね。

87 :83:03/01/05 01:17
>>84-86
そうなんでつか。勉強になりますた。すんません。


88 :デフォルトの名無しさん:03/01/05 02:51
>>75 HTML内にスクリプトレットを沢山埋め込むのをみていると一見OOらしく見えない。
というか、JSPファイル一つがHttpServletクラスを継承したServletクラスになっているだけで
OO的かどうかは別問題な気がする。
いまではJSPカスタムタブライブラリやstruts使えるJSPもOOなのかというと微妙。
データ構造を持ったXMLファイルと同じような扱いしたいくらいだ。

89 :デフォルトの名無しさん:03/01/05 02:54
>>88
そんな時、ECSはどうなん?

90 :デフォルトの名無しさん:03/01/05 03:03
TAGLIBで、SunのXMLに対する姿勢(どーでもいい)が判ってしまふ

#JRunのMessaging Tagとか、Transaction Tagって、まだ在るの(プププ

91 :デフォルトの名無しさん:03/01/05 03:14
Sunは自分を中心に全ての惑星が回って欲しいそうです。

92 :デフォルトの名無しさん:03/01/05 03:15
>>89 ECS使ったこと無いからわからんです。
jakartaのページ見るかぎりではよさげ。あれはXML生成するだけでプログラム自体はJavaだからOOでない?

>>90 どんな姿勢? 問題点ありあり?
Sunのタグもすごいことになった感じ。ifタグやforタグまでつくっているところが漏れ的に凄いと思う。
strutsに使い慣れるとあれ使いこなすのつらそ


93 :デフォルトの名無しさん:03/01/05 03:17
>>91 それはゲイツを憎むことに固執しすぎたスコットマクリーニだろ
ビルジョイはそうは思っていないと思う。


94 :デフォルトの名無しさん:03/01/05 03:21
>>92
TagLibて、DOMやらSAXやら以前の前世紀の遺物って感じがする。

(今最新のAPIって何だっけ(JDOMじゃなくて)?JWで見た覚え在るけど使ってない…)

95 :デフォルトの名無しさん:03/01/05 03:28
「JSPを生成し→HTMLを生成する」のプロセスは、ただの利便性の追求の結果。
機能を意味的に分割し、カプセル化する事を、JSPだけで表現する事は辛いと思う。
ていうかJSPは、最終的にクライアント側でHTMLとして展開される為のSourceでしか無いので、
JSPはOOとか言うより、むしろデータファイル。

>>92
「プログラム自体がJavaだからOO」ってのは違く無いか?


96 :デフォルトの名無しさん:03/01/05 11:59
>>86
委譲の例としてテムプレィト挙げるのは厨だよなぁー。
デザパタで継承を前面に押し出してる数少ない例なのに。


97 :デフォルトの名無しさん:03/01/05 12:57
>>96


98 :デフォルトの名無しさん:03/01/05 13:21
オブジェクト指向言語は間違っていた!?
http://www.ogis-ri.co.jp/otc/hiroba/technical/MixJuice/

99 :デフォルトの名無しさん:03/01/05 13:24
>というか、JSPファイル一つがHttpServletクラスを継承したServletクラスになっているだけで
>OO的かどうかは別問題な気がする。
>いまではJSPカスタムタブライブラリやstruts使えるJSPもOOなのかというと微妙。
>データ構造を持ったXMLファイルと同じような扱いしたいくらいだ。
JSP(Servlet)を一つ作るだけで、動的なページが生成できる仕組み(フレームワーク)が
OOで作られているだけだ。
そういう意味でOOの恩恵を受けていると。

100 :デフォルトの名無しさん:03/01/05 13:30
過激なタイトルが趣旨に反映されていないな。


101 :デフォルトの名無しさん:03/01/05 13:53
>>100
>>98の記事タイトルは、

「"これまでの" オブジェクト指向言語は間違っていた!? "気がするから新しい言語を考えてみた"」

と、読むのが正解。
ていうか「ささやき」「宝石」「コーヒー」の次は「ジュース」なんだな。


102 :デフォルトの名無しさん:03/01/05 14:28
override が使われる例として、テンプレートメソッドパターンは、
責務をサブクラスに 「委譲」 している形態と言えなくもないが、
OO 用語の 『委譲』 とは使用されるコンテキストや意味合いが異なる
と言いたかった。

103 :デフォルトの名無しさん:03/01/05 14:30
> OO 用語の 『委譲』

明確に定義してくださいませんか

104 :デフォルトの名無しさん:03/01/05 14:58
何だろ。
クラス Foo とクラス Bar があり、Foo が Bar に責務を委譲していると言うとき、
Foo と Bar には(継承関係以外の、一応)関連があり(has-a などー)、
Bar のいくつかのメソッドと同じシグネチャ(引数部分も含めたメソッド)を Foo は持ち、
それらの Foo のメソッドは Bar の対応するメソッドをただ呼び出す、
よう形態にある。

単に method call するだけとは限らないから不十分だな。
難しいね。

105 :デフォルトの名無しさん:03/01/05 15:01
>>103
『丸投げ』

106 :デフォルトの名無しさん:03/01/05 15:05
出来もしない仕事に対する窓口になっている
無能上司が専門馬鹿の部下に作業を押し付けること。

107 :デフォルトの名無しさん:03/01/05 15:53
丸投げと委譲は微妙に違うような気がする。
あるオブジェクトが、一つの仕事を行う時に、
その仕事の一部分を別のオブジェクトに任せること、
みたいな感じでどうよ?

108 :デフォルトの名無しさん:03/01/05 16:24
- 継承による委譲(サブクラス→スーパークラス)
- コンポジションによる委譲(集約オブジェクト→部分オブジェクト)

というのはどう?

109 :デフォルトの名無しさん:03/01/05 16:30
>>108
その2つの違いって何だろ?

継承はコンポジションにis-a関係を付加しただけのように見える。

110 :108:03/01/05 16:34
すんません考え直しました

- 継承(サブクラス→スーパークラス)
- 委譲(集約オブジェクト→部分オブジェクト)


111 :デフォルトの名無しさん:03/01/05 16:36
>>109
継承とコンポジションは排他じゃないの?

112 :デフォルトの名無しさん:03/01/05 16:38
>>111
継承とコンポジションの違いを述べてみ。

113 :デフォルトの名無しさん:03/01/05 16:39
>>112
is-aと、has-aじゃなかったっけ?

114 :デフォルトの名無しさん:03/01/05 16:41
いや、だからそれらの違いと、共通点を。

115 :デフォルトの名無しさん:03/01/05 16:49
>>114
うーん、違いっていうか、全然別のものとして理解していたんだけど・・・
継承は、あるクラスが、スーパークラスの性質をすべて引き継ぐことで、
コンポジションは、あるクラスが、別のクラスを保持していること。
共通点は、、、よくわかんないっす。

116 :デフォルトの名無しさん:03/01/05 16:53
共通点は他のクラスの機能を(見かけ上)自分の機能として使えることだよ。
違いは継承はひとつのクラスのみを利用できるのに対して、
委譲は二つ以上でも可能なこと。

117 :デフォルトの名無しさん:03/01/05 17:03
>>116
えーと、それって継承とコンポジションで、「できること」の違いであって、
>>111に対する答えにはなっていないような気がするんだけど・・・
俺が言いたかったのは、>>109の、

>継承はコンポジションにis-a関係を付加しただけのように見える。

が、コンポジションと継承が両立できるような意味に読めたから、
それは違うんじゃないかな、って思っただけです。

118 :デフォルトの名無しさん:03/01/05 17:13
継承ではテンプレートメソッドパターンを使用できるが、コンポジションでは
そううまくはいかない、ってのはどうだYO!

119 :デフォルトの名無しさん:03/01/05 18:02
>>116
> 違いは継承はひとつのクラスのみを利用できるのに対して、
> 委譲は二つ以上でも可能なこと。

いつから多重継承はなかった事になったんだ?
君の大好きな Java だか C# だか VB.NET にもちゃんとあるぞ。
インターフェイスの多重継承がな。

120 :デフォルトの名無しさん:03/01/05 18:02
できるんじゃないの?
あるクラスにあるインターフェイスを実装したインスタンスを渡して
クラス側で制御。
抽象クラスをただのクラスとインターフェイスに分離したような感じ。


121 :デフォルトの名無しさん:03/01/05 18:03
継承ではなくて実装では?

122 :!:03/01/05 18:07
C++自体ではならなかったが憂鬱本を読んで鬱になった
( -_-)はぁ

123 :119:03/01/05 18:08
>>121
もうね、あほかと…バカかと…
世界の常識 *** インターフェイス継承 == 実装 *** よーく覚えておけ。

124 :デフォルトの名無しさん:03/01/05 18:12
初めて知った。
常識なんだ。
明日から使ってみよう。

125 :デフォルトの名無しさん:03/01/05 18:21
と言って、プログラミング用語以外の「実装」まですべて「インターフェイス継承」と置き換えて
電波扱いされる >>124 なのでした。

             渡る世間はバネ量り -岡倉家の混乱 第3章2節- より

126 :デフォルトの名無しさん:03/01/05 18:30
>>125
10分以上熟考されたのですね。
さすが。


127 :デフォルトの名無しさん:03/01/05 18:31
時間の見方もわからないの?って言われそうw

128 :デフォルトの名無しさん:03/01/05 19:06
継承とコンポジションの決定的な違いを解説キボン

>>116
>共通点は他のクラスの機能を(見かけ上)自分の機能として使えることだよ。

これは納得。

129 :デフォルトの名無しさん:03/01/05 19:12
継承関係は、コンパイル時に静的に決まるのに対して、
委譲は実行時にどのクラスのオブジェクトを使うか動的に決定することが
できる。ってことでどうよ。

130 :129:03/01/05 19:15
ああ、間違えた。委譲じゃなくて、コンポジションね。

131 :デフォルトの名無しさん:03/01/05 19:43
>>98 出たなMixJuice
AspectJそっくり

132 :デフォルトの名無しさん:03/01/05 19:44
インタフェースの実装は委譲なんだからこの議論では委譲だ。

133 :デフォルトの名無しさん:03/01/05 20:13
関係無いけど、このスレ、異常に(委譲に)勉強になるなぁ。

               Σ(゚Д゚; エーッ!!ダジャレカヨ!!!


134 :名無し@沢村:03/01/05 20:33
>>128
>継承とコンポジションの決定的な違いを解説キボン

ヌヒよ、継承は親子関係にあるクラスのメソッドしか使えないが、コンポジションは全然別のクラスのメソッドが使えるということだよ。
メソッドとJava用語を使ってしまったが、メンバ関数のことだよ。ヌヒよ。
俺はJavaは知らないんだよ。Javaはホームページにアプレットを表示するためのホームページ言語だよ。


135 :デフォルトの名無しさん:03/01/05 20:36
親子関係という関係と、
全然別のクラスという関係
この違いって何?

136 :デフォルトの名無しさん:03/01/05 20:49
>>135
public class a
{
}

public class b extends a
{
}


public class c
{
private a aa;
}

137 :デフォルトの名無しさん:03/01/05 20:58
そういう視覚的な事じゃなくてもっと本質的にどう違うのかって言ってんだろが


継承を嫌う人がいるのは何故?
人間には委譲よりも継承の方がわかりやすいと思うけど。(もちろん単一の話)


138 :名無し@沢村:03/01/05 21:01
>>137
>人間には委譲よりも継承の方がわかりやすいと思うけど。

そうは思わんね。委譲は権限委譲などと一般社会でも使われる言葉だが、継承なんて言葉は一般社会じゃまったく使わないぞ!!
よって委譲のほうが人間にはわかりやすいぞ!!

139 :デフォルトの名無しさん:03/01/05 21:04
>>137
>そういう視覚的な事じゃなくてもっと本質的にどう違うのかって言ってんだろが

>>136のコードの意味がわからないか?全然違うものだが。

140 :デフォルトの名無しさん:03/01/05 21:06


今年も、、今年こそ、、
いい思いをしちゃいましょう(^▽^)v

http://ok.halhal.net/~2ch/



141 :デフォルトの名無しさん:03/01/05 21:09
『外注』とか『下請け』とかはどうよ?

142 :デフォルトの名無しさん:03/01/05 21:09
>>138
>継承なんて言葉は一般社会じゃまったく使わないぞ!!

王位継承とかって、マンガやゲームでは時々みかける言葉。

143 :デフォルトの名無しさん:03/01/05 21:11
>>139
コードの意味を言葉で説明してみてください。
そうしないとOOとしての知識になりまへん。

144 :名無し@沢村:03/01/05 21:12
>>141
ヌヒよ、ヌヒはいいセンスしてるよ。
まさに『外注』が委譲で『下請け』が継承よ。
まあ『下請け』を委譲といえなくもないが、『外注』は継承とはいえないからね…。

145 :137:03/01/05 21:13
>>138
(゚Д゚)ハァ?
単語の意味のことなんか言ってねぇよ
概念のことに決まってんだろボケ
例えば、TemplateMethodパターンを継承と委譲で表現した場合どっちがわかりやすい?

>>139
視覚的の意味がわからないか?


146 :デフォルトの名無しさん:03/01/05 21:16
>>145
何で必死なんですか?

147 :141:03/01/05 21:18
沢村先生に褒めていただいた!嬉しい!

148 :デフォルトの名無しさん:03/01/05 21:20
委譲によってTemplateMethodを実装するとなると委譲先のオブジェクトが
特定のメソッドを持っていることが保証される必要がある。
それは結局継承によってしか保証できないんだから、素直にTemplateMethod
自体を継承で実装したほうが自然。

149 :名無し@沢村:03/01/05 21:20
>>145
ヌヒよ、TemplateMethodパターンは継承のほうがわかりやすいよ。
だが、Stateパターンは委譲のほうがわかりやすいよ。
ヌヒよ、またTemplateMethodパターンはあまり可能性のないパターンよ。
俺はStateパターンが好きだね♪

150 :デフォルトの名無しさん:03/01/05 21:31
スマン、TemplateMethodは継承が当たり前だった。
勘違い逝って来る・・・

151 :デフォルトの名無しさん:03/01/05 21:31
>>137
これ読んでくれ。「実装の継承に関する問題」 のくだり。
http://www.microsoft.com/japan/developer/library/jptech/TechArt/VTools/vb/vb6/ifacebased.htm

152 :デフォルトの名無しさん:03/01/05 21:32
結局、継承とコンポジションの違いは出ずじまいですなあ

153 :デフォルトの名無しさん:03/01/05 21:35
>>152
全然違うと思うが。

って言うかみんなそれくらいわかってるでしょ。デザインパターンまで読んでるなら。


154 :デフォルトの名無しさん:03/01/05 21:35
>>153
同意。勉強不足だな。

155 :デフォルトの名無しさん:03/01/05 21:36
>>153
わかってらっしゃるそうなので、
共通点と相違点を述べてみてください。


156 :デフォルトの名無しさん:03/01/05 21:48
継承は静的。たとえば、実行時に親クラスを変更することは不可能。
コンポジションは動的。たとえば、ポリモーフィズム等を利用して、
利用しているクラスをまるごと差し替えてしまうことも可能。

157 :デフォルトの名無しさん:03/01/05 21:54
>ヌヒよ、またTemplateMethodパターンはあまり可能性のないパターンよ。
そりゃないってw

>>156
継承はポリモーフィズムが絡んでくるけど
コンポジションは絡んでこない。
ってだけでは?
そもそも
>たとえば、ポリモーフィズム等を利用して、
>利用しているクラスをまるごと差し替えてしまうことも可能
の意味がわからんのだけど
簡単なコードでも書いてくれるとありがたいかも

158 :デフォルトの名無しさん:03/01/05 21:59
そとらてじ

159 :デフォルトの名無しさん:03/01/05 22:02
State オブジェクトや Strategy オブジェクトを差し替えるってことじゃない?
AbstractState から継承して ConcreteStateA、ConcreteStateB… を作り、
利用する側は AbstractState 型への参照を保持するんだし。

151 の記事の要約になるけど、
ホワイトボックス型利用なのか、ブラックボックス型利用なのかが大きな違いだと思う。
前者は実装を意識しなきゃいけないけど(下手すると親クラスを変に弄ったりね)、
後者はインタフェイスが理解できていればいい。

160 :デフォルトの名無しさん:03/01/05 22:04
ストラテジーは言語機能に多態がないと、
使う気しないのは確かだな。
そういう意味で、ポリモーフィズムを利用してるって意味かな?
クラスを差し替えることに、ポリモーフィズムを使うって意味かと思ったよ。

ただ、継承は静的と書いてしまうと
誤解が生じるような。
継承には差分プログラミングと、実行時ポリモーフィズム
の二つの意味があるわけで。
言語によるという突っ込みはなしで。
C++、Javaの話。

161 :デフォルトの名無しさん:03/01/05 22:05
import Mode;
import DefaultMode;
import SpecialMode;
public class Sample {
 private Mode myMode;
 public void dynamicFunc(boolean mode);
  if (mode) {
   this.myMode = new DefaultMode();
  } else {
   this.myMode = new SpecialMode();
  }
  this.myMode.execute();
 }
}

162 :デフォルトの名無しさん:03/01/05 22:06
実装継承はモロにホワイトボックスですね
相手とかなりの密結合になる。

コンポジションは基本的にインターフェース経由だから、
一応ブラックボックスになるのかな。

163 :デフォルトの名無しさん:03/01/05 22:10
なるほど。
で実際、実装継承全く使わないって人いる?


164 :デフォルトの名無しさん:03/01/05 22:15
>>163
普通はフレームワーク的なクラスを作って継承するでしょ。

165 :デフォルトの名無しさん:03/01/05 22:15
>>164
便利だな。あれ。

166 :164:03/01/05 22:19
?(あれって何?)

167 :デフォルトの名無しさん:03/01/05 22:19
どっちにしろ、カプセルの上から被せ、何もかも隠蔽する継承だけになった場合、
包含との違いが意味的なものだけになってしまい、それは単に親クラスに対して
Delegationしてるだけって事になってしまう。
そうなると、継承とコンポジションはその境を失う。

...そして最後には実体(Instance)のみが存在しdelegationを行うと言う、
いわゆる"Self"のような言語がOOの世界を支配する。


168 :デフォルトの名無しさん:03/01/05 22:20
>>167
Selfマンセー

169 :デフォルトの名無しさん:03/01/05 22:24
ホワイトボックスに何故拘るヤシが居るのか判らん。
継承って、基本中の基本だよねぇー。
継承と委譲の使い分けって、Javaの言語仕様決めた時点である程度決着付いてる気がしてた。

170 :デフォルトの名無しさん:03/01/05 22:24
> それは単に親クラスに対してDelegationしてるだけ

そう、継承にそれ以上の意味があるのかなあ、と思った次第であります。

171 :デフォルトの名無しさん:03/01/05 22:26
>>170
委譲のように各々のメソッドのラッパーを書かなくても、
勝手に親の持つメソッドを検索してくれるじゃないか。

つまり………楽ができるのさ。

172 :デフォルトの名無しさん:03/01/05 22:27
親クラスへのポインターを動的に変更可能にしたら?

クラスの動的変更が可能になる

クラスって特別な仕組みを無くして、インスタンス継承可能にすれば、シンプルで良い

Selfウマー

173 :デフォルトの名無しさん:03/01/05 22:31
Javaの実装継承って、method overrideでメソッド丸ごと入れ替えちゃうのがダセー

CLOSのMIXINでbeforeメソッドとかafterメソッドとかあったジャン

HyperJ & MixJuice ウマー

174 :デフォルトの名無しさん:03/01/05 22:33
面白そうだけどリソース的に(゚д゚;)マズーな予感

175 :デフォルトの名無しさん:03/01/05 22:35
リソースって何の事?
クラス間のコード共有に関する解決策の事?
それともセキュリティ・マネージャの件(じゃないよね)?

176 :デフォルトの名無しさん:03/01/05 22:37
>親クラスへのポインターを動的に変更可能にしたら?
ソレダ!!!

177 :デフォルトの名無しさん:03/01/05 22:42
CLOSのメソッド・セレクターとかいう仕組みがあったっけ。
第一引数と第二引数が共に整数なら、 plus(int,int)
第一引数と第二引数が共に実数なら、 plus(float,float)
第一引数が整数で第二引数が実数なら、plus(int,float)
第一引数が実数で第二引数が整数なら、plus(float,int)
を呼び出す、と。

で、この辺りの処理は(primitive使わなければ)Javaのreflectionパッケージで記述できるんですけど、、、
メソッド呼び出しのオーバーヘッドが大きそう…
#まぁ、分散オブジェクト〜Web寂びースの呼び出しより軽いからいいか。



178 :デフォルトの名無しさん:03/01/05 22:43
>>177
オーバーロード?

179 :デフォルトの名無しさん:03/01/05 22:43
>>177
それって単なるオーバーロードでは?

180 :デフォルトの名無しさん:03/01/05 22:44
>で、この辺りの処理は(primitive使わなければ)Javaのreflectionパッケージで記述できる

それをワザワザ記述するってのが、どうか。

181 :174:03/01/05 22:45
>>175
プロトタイプ方式の事。
インスタンスごとにメソッド持つんだからメモリ多く必要だろうし
実行時に継承するとCPU食うじゃん

Selfの資料見当たらない・・・
詳しいサイト教えて


182 :デフォルトの名無しさん:03/01/05 22:46
>>178
のん。CLOSでは
上記の処理を、例えば switch case文みたいので記述する(Lispならcond)とか、
もっと効率を考えて、引数のクラスIDからハッシュを計算してHashtableからメソッド検索、
とかしてたらしいです。

183 :デフォルトの名無しさん:03/01/05 22:47
>>177
つまりPerlOO風に、パラメータの取り扱いも含めて1つのメソッドにしよう、と。


184 :デフォルトの名無しさん:03/01/05 22:47
>172

NewtonScript ってクラスじゃなくてインスタンスベースのOO言語も
そんな感じなんだけど、コレの骨子は親インスタンスは ROM や FLASH ROMに
置いたまま、例えば書き換わるメンバ変数(property)だけ子インスタンスが持つ、
なんてことを実現して時間空間の両面でリソースを減らすことにあるんだよね。
copy on write みたいな感じで面白い。

役に立たないマメ知識でした。

185 :177:03/01/05 22:48
スマソ、話が飛びすぎますた。反省しまつ。

186 :デフォルトの名無しさん:03/01/05 22:50
>そう、継承にそれ以上の意味があるのかなあ、と思った次第であります。
だから、ポリモーフィズムだって。


187 :177:03/01/05 22:55
補足。
CLOSのはメソッド・セレクターじゃなくメソッド・ディスパッチャーだった気がしますた。
で、メソッド・ディスパッチャーみたいな仕組みを、リフレクティブに、記述対象言語自身で記述できれば、
before & after みたいな仕組みを作るのが楽だよねぇー、って言いたかったのです。

>>181>>184
そっすね。
ところで、インスタンス・ベースのOOと、アスペクトみたいなのの、融合って例はないんでしょうか?


188 :デフォルトの名無しさん:03/01/05 22:55
クラスベースでモデリングする上で継承という概念は有用である。

189 :デフォルトの名無しさん:03/01/05 23:05
>リフレクティブに、記述対象言語自身で記述できれば、
>before & after みたいな仕組みを作る
事のメリットがわからない上に、
できない理由がわからないんだけど。


190 :デフォルトの名無しさん:03/01/05 23:07
参考資料

http://web.archive.org/web/20001017024220/www.zzz.or.jp/~iizuka/EOO/Japanese/oofaq-j/oo-faq-S-3.2.html
(「委譲/プロトタイピング」のオブジェクト指向パラダイムって何ですか?)

191 :デフォルトの名無しさん:03/01/05 23:14
>>189
できないって言ってないってばぁー。
メリット?
アスペクト指向みたいな事やるのに、
ソースやらバイナリを改変するアプローチだけじゃなく、
しこしこコードで記述する方法を使った方が手っ取り早いケースもあるのでは?

192 :デフォルトの名無しさん:03/01/05 23:19
>しこしこコードで記述する方法を使った方が手っ取り早いケースもあるのでは?
トランスレータを作るって意味でしょ?
そういう方法でもいいんじゃない?
拡張の程度によって
プリプロセッサみたいなのでやるのか
トランスレータにするのか
バイナリにする(言語機能を利用しない)のかを
決めればいい。

193 :デフォルトの名無しさん:03/01/05 23:20
>>192ポカーン

194 :デフォルトの名無しさん:03/01/05 23:45
>>190
一子相伝/終身雇用制で継承するより、
即戦力になるプロをスカウトして、権限委譲した方が
今っぽいじゃん。能力主義って感じだしぃー。

委譲>>>>>>>>>>>>継承

Smalltalk=継承ベースのOO言語
Self=委譲ベースのOO言語

Selfウマー

195 :デフォルトの名無しさん:03/01/05 23:53
実装継承って、多分昔言われていた差分プログラミングを実現するための
ものだと思う。
今はOOの使い方がだいぶ研究されて、委譲を使ったプログラミングの方が
いいじゃん、ってことになっているのでは。
つーわけで、実装継承=過去の遺物ってことでよろしいか?

196 :デフォルトの名無しさん:03/01/06 00:06
> 今はOOの使い方がだいぶ研究されて、委譲を使ったプログラミングの方が
> いいじゃん、ってことになっているのでは。
何でもかんでも実装継承で解決するのは止めて、適材適所で使えってトコロで
落ち着いてると思うけどな。

template method やなんかは、実装継承を使ったほうがスマートに書けるし。
実際、大規模なフレームワークを提供するクラスライブラリの類は、だいたい
実装継承を使ってるでしょ。

197 :デフォルトの名無しさん:03/01/06 00:26
見た目が実装継承(Javaならextends)でも、
実際のところはCompositionに近いこともあるけどなあ。

フレームワークが提供する抽象クラスのサブクラスをアプリ側で
実装するなんて場合、実装継承に見えるけど、実際は
抽象クラスがサブクラス実装部分をcompositeしてるんじゃないかな。
ただ、委譲コードを書くのはメンドイし、ミスを防ぐためにも
実装継承という方法で制約をかけているのかもしれないけど。
(protectedキーワードが便利!)

となると実装継承ってsyntax sugarか?うーん
便利なことは便利なんだが...

198 :デフォルトの名無しさん:03/01/06 00:27
実装継承がダメっていうわけじゃなくって、
変な実装のオーバーライドするのがダメなんじゃないかな。
template methodなんかは、だいたいJavaならabstractなメソッドか、
単純なデフォルトメソッドとして定義するでしょ。
これって、要するにスーパークラスの作成側が、あらかじめ
オーバーライドされることを想定しているわけで。
これをオーバーライドするのは、実装継承の良い使い方だと思う。
既存のコードの修正したい部分をオーバーライドで
変更するようなやり方は、悪い使い方だと思う。

199 :デフォルトの名無しさん:03/01/06 00:38
節を追うごとに
class Panel2 extends Panel1
class Panel7 extends Panel6
と継承しては機能追加する恐ろしい Java 参考書があった。


200 :デフォルトの名無しさん:03/01/06 00:44
> 既存のコードの修正したい部分をオーバーライドで
> 変更するようなやり方は、悪い使い方だと思う。
それはまさに差分プログラミングなワケだが、見通しが立つ範囲でやる分には
問題ないと思う。ただ、この「見通しが立つ範囲」ってのが曲者で、改修を
重ねて見通しが悪くなったら、早めにリファクタリングしないと死ぬけど。

実例を挙げると、バイナリフォーマットを解析してメモリに読み込むような
プログラム。最初に作ったバイナリフォーマットに、後にちょっとした拡張
が施された場合(良くある話)、if 文で条件分岐して対応するよりは

1. ファイル解析を strategy パターンを使って書く。
2. 元のファイル解析ルーチンを継承して、拡張フォーマット対応のファイル
解析ルーチンを作る。

とした方が見通しが良くなる。

ある程度ファイルフォーマットの拡張が重なって元のものとかけ離れてきたら、
そこで実装継承をやめて一から書き直し。

201 :デフォルトの名無しさん:03/01/06 01:04
>>200
そうそう、差分プログラミングも使い方によっては便利だけど、
やめどきを知っていないと、あっという間にひどいプログラムになるよね。
ある意味、上級者向けだと思う。
でも、OOのメリットのなかで初心者に一番説明しやすいのは
差分プログラミングなんだよな。

202 :デフォルトの名無しさん:03/01/06 02:22
>ある程度ファイルフォーマットの拡張が重なって元のものとかけ離れてきたら

これって、それがある程度事前にわかっている場合は、
「ファイルを扱う」と「データの解析をする」を分離しておいて、コンポジット化すれば
いいのではないでせうか。
で、解析部のテンプレートとして、>>198 を適用する...って、
例として出された内容に言うのも筋違いな気がするのですが、気になって眠れないぃぃぃ...。


203 :デフォルトの名無しさん:03/01/06 02:31
> 「ファイルを扱う」と「データの解析をする」を分離しておいて、
にしても、データ解析部分は strategy になるような。

204 :デフォルトの名無しさん:03/01/06 02:37
実例を挙げると、バイナリフォーマットを解析してメモリに読み込むような
プログラムをつくってみよう

205 :デフォルトの名無しさん:03/01/06 08:15
>>204
一昔前にDHCPメッセージ解析するの作ったけれど。

206 :デフォルトの名無しさん:03/01/06 14:02
>>149
> ヌヒよ、TemplateMethodパターンは継承のほうがわかりやすいよ。
> だが、Stateパターンは委譲のほうがわかりやすいよ。
> ヌヒよ、またTemplateMethodパターンはあまり可能性のないパターンよ。
TemplateMethodとStateは畑が違うものでないかい。

多重継承も禁止しているように、クラスには継承できないクラスもあるのだ。
継承して欲しくないときにfinal宣言。
言語によってはそういう指定(final)をできないものもあるかもしれないが。

C++しか使ったことがない沢村にわかわんだろうけど
継承を許されていないクラスには委譲をつかうしかないのだ。
逆に継承しないと使えないクラスもあるのだ。

207 :デフォルトの名無しさん:03/01/06 14:14
人によってスタンスがあると思うけど
俺の場合は
オーバーライドを使う=ポリモーフィズムを使う
というスタンスかも。

単純に親クラスのコードを利用したいだけなら
コピペすると思う。
もちろん、そういう状況にならないように設計できる余地がある時は
そうするだろうし。



208 :デフォルトの名無しさん:03/01/06 14:18
>>207
インターフェース型による多態の立場は・・・?

209 :デフォルトの名無しさん:03/01/06 14:51
質問。これも多態?
#include <iostream>
class A {
public:
  void print() { std::cout << "A" << std::endl; }
};
class B {
public:
  void print() { std::cout << "B" << std::endl; }
};

template<typename T> void print(T t) {
  t.print(); // これ
}

int main() {
  A a;
  print(a);
  B b;
  print(b);
  return 0;
}

210 :デフォルトの名無しさん:03/01/06 14:56
>>209 まるでメソッド(メンバ関数)をオーバーロードしているだけに見える。

211 :デフォルトの名無しさん:03/01/06 15:01
>>209
本来の多態(polymorphism)の意味は、
ある変数に複数の型の値を代入できる点にあるから、
t.print();が多態かどうかというのは答えようがないと思うが。


212 :209:03/01/06 15:30
>>211
そういう意味なの?
多態って、オブジェクトにメッセージを送ったときに、
そのオブジェクトの種類に応じたメソッドを実行する機能
だと思っていた。

213 :211:03/01/06 15:38
>>212
それはメソッドの「動的束縛」

214 :211:03/01/06 15:41
>>212
ついでに言うと、

> そのオブジェクトの種類に応じたメソッドを実行する機能

> その表現式の型に応じたメソッドを実行する機能
ならば、メソッドの「静的束縛」

215 :名無し@沢村:03/01/06 20:23
>>211
ヌヒよ、本来の多態(polymorphism)の意味は、変数じゃないよ。
あるオブジェクトに複数の型のオブジェクトを代入できる点にあると思うよ。ヌヒよ。

216 :デフォルトの名無しさん:03/01/06 20:26
シ尺木寸キター

217 :名無し@沢村:03/01/06 20:31
まあ、オブジェクトに複数の型のオブジェクトを代入してもほとんどの香具師はswitch case文でしかそれを切り替えられないだろうけどね…。

218 :デフォルトの名無しさん:03/01/06 20:34
残りの人はどうするの?
メソッド検索でもしてみる?

219 :デフォルトの名無しさん:03/01/06 20:38
皆のもの、沢村先生がありがたい書き込みをなされたぞ!
「オブジェクトにオブジェクトを代入する」というすばらしいお言葉の意味
を知恵を絞って考えよ!しかも大抵の人は「switch case でしか切り分けられ
ん」そうだ。C++ とか Java だと代入する先は変数だしなぁ。しかも大抵は
動的束縛で switch とか要らんよなぁ。わからん...

220 :名無し@沢村:03/01/06 20:47
>>219
ヌヒよ、オブジェクトにオブジェクトを代入するがわからんか?ヌヒよ?
つまりこういうことよ↓
Kintama kintama;
Omanko *omanko;
omanko=&kintama;
omanko->sex();

ヌヒはオブジェクト指向の初歩を勉強しろ!!ヌヒよ!!

221 :デフォルトの名無しさん:03/01/06 20:53
ははー。それはオブジェクトというかポインタを代入しているように
見える漏れは真の大バカ野郎とうい事ですな。よっくわかりました。
....沢村様、重ね重ね申し訳ないのですが、大半の人間が使う
switch case とやらも例を出して明快に説明していただきたいのですが。

222 :沢村@代理:03/01/06 20:57
import Mode;
import DefaultMode;
import SpecialMode;
public class Sample {
private Mode myMode;
public void dynamicFunc(boolean mode);
if (mode) {
this.myMode = new DefaultMode();
} else {
this.myMode = new SpecialMode();
}
this.myMode.execute();
}
}

223 :名無しさん@Emacs:03/01/06 22:07
デザパタか。
で、コレがどうしたの?

224 :名主さん@TeXmacs:03/01/06 22:14
どこがデザパタやねん

225 :名無しさん@Emacs:03/01/06 22:34
simple factory
の例じゃないの?

226 :デフォルトの名無しさん:03/01/06 22:38
話し合うだけじゃなかなか理解できないから、
なんか小さいプログラムOOで作ってみせあっこしようよ。
前やってたオセロみたいにさ。

227 :デフォルトの名無しさん:03/01/06 22:44
>>226
OK。Hello World!作れ。OOで。

228 :デフォルトの名無しさん:03/01/06 22:57
>>227
TemplateMethodパターンで作ってけど、面白くないよ・・・
public abstract class AbstractHelloWorld{
public void execute(){
hello();
}
public abstract void hello();
}
public class HelloWorld extends AbstractHelloWorld{
public abstract void hello(){
System.out.println("Hello World!")
}
}

229 :デフォルトの名無しさん:03/01/06 23:02
public abstract void hello(){

230 :デフォルトの名無しさん:03/01/06 23:06
OOらしく拡張しよう
public class HelloWorld100 extends AbstractHelloWorld{
public abstract void hello(){
for( int i = 0 ; i < 100 ; i ++ )
System.out.println("Hello World!");
}
}

231 :デフォルトの名無しさん:03/01/06 23:16
要するに、テムプレィトー、テムプレィトー、って逝ってるヤシは、
継承覚えるのがやっとこさの××なのね。

#ウチの近所にも一杯いるけど(w
#「パターン大事だよねぇ、テンプレィトゥーメソッドゥ」とか
#「ホワイトボックスが重要だ」とかいつも逝ってる

232 :デフォルトの名無しさん:03/01/06 23:17
>>231はHello Worldの意味がわからない疎外感に耐えられなくて煽りに転じました。


233 :デフォルトの名無しさん:03/01/06 23:18
231の近所って公園しかないぞ?

234 :デフォルトの名無しさん:03/01/06 23:19
>>230
HelloWorld100:2: abstractなのに本体持ってるんで、コンパイル中止しますた。


235 :デフォルトの名無しさん:03/01/06 23:21
>>233
ん?いつも漏れの席の後ろで喧々諤々騒いでるヤシの事だけど

236 :デフォルトの名無しさん:03/01/06 23:24
>>235
ああ。木村か。

でも、あいつお前の1/30だぞ。テストの順位。

237 :デフォルトの名無しさん:03/01/06 23:25
木村圏萌ぇ〜

238 :デフォルトの名無しさん:03/01/06 23:27
>>236
2/30位って、どれくらいアタマぃぃのヨ?

239 :デフォルトの名無しさん:03/01/06 23:27
>>233
ワラタ

240 :デフォルトの名無しさん:03/01/06 23:30
マ板以下のゴミスレでつね。

241 :デフォルトの名無しさん:03/01/06 23:31
おまいら、遊んでばっかいないでOOの勉強しる。

242 :デフォルトの名無しさん:03/01/06 23:34
>>230-231
これJavaだよな? Javaもどきだったら知らんが、
Javaだったらコンパイルできなく当たり前
abstract外せ
>>230 は本当にOOらしく拡張されたのか?
ただのポリもーフィズムだけってのはのう....。

Hello World表示するだけでこんなことやるのも何か寒い。もっと芸見せておくれ

243 :デフォルトの名無しさん:03/01/06 23:36
あれだ。レンタルビデオ屋をモデリングすれ。

244 :デフォルトの名無しさん:03/01/06 23:36
そういや、クリスマス・イブの時、
公園で耳押さえて、奇声あげながら走っている香具師がいたな。

245 :デフォルトの名無しさん:03/01/06 23:38
>>243
UMLシルバーの試験対策にちょうど良さそうだな。

246 :デフォルトの名無しさん:03/01/06 23:39
それが沢村の真の姿なのだぁー

247 :デフォルトの名無しさん:03/01/07 00:03
>>245 あれブロンズと比べるとかなりムズイ。去年の秋は受からんのでした。
修行が足りぬか。修行修行

248 :デフォルトの名無しさん:03/01/07 00:45
有名だけど、Greedゲームなんかどうよ?
http://www.ogis-ri.co.jp/otc/objday2001/category6W1plus.html

249 :デフォルトの名無しさん:03/01/07 04:17
>>217
> まあ、オブジェクトに複数の型のオブジェクトを代入してもほとんどの香具師はswitch case文でしかそれを切り替えられないだろうけどね…。

おお、polymorphic typeなswitch文をつくってくださるのか!
私のような下々の人間には効率的な実行系を想像だにできん。
ありがたや、ありがたや・・・

250 :名無し@沢村:03/01/07 09:14
そういえばヌヒ等よ、俺はプログラム勉強最初の頃は非OOでプログラミングしてたよ(当然だけどね)。
で、その頃の非OOのやり方というのはね、まず変数はすべてグローバルとし、変数を宣言だけするファイルをsubsti.hとしてひとつにまとめ一番おおもとにしていたね。
で次にそのsubsti.hをインクルードしてdeclare.hをつくっていたんだが、これは関数のプロトタイプと構造体だけを列挙するファイルなんだ。
次にdeclare.hをインクルードしてそれぞれの機能に応じた関数を定義するファイルをつくっていたよ。
ファイル処理ならfile.h編集ならedit.hという風にね。プログラムで使用する関数の定義はすべてこの.hで行なっていた。
だからcppファイルはつねにそれらをすべてインクルードした最後のファイルひとつだけだったよ。
ヌヒ等よ、このやり方は非OOでありながらOOに非常に近いし、またとても読みやすいという利点があったよ。
変数はすぶてひとつのファイルを開くだけで一覧できるし、static宣言もexturnも必要ないからね。
まさに一種のデザインパターンといえるだろうね。俺は生まれつきOOをやる資質が備わっていたんだろうね。

251 :デフォルトの名無しさん:03/01/07 09:33
>>250

構造化。

252 :デフォルトの名無しさん:03/01/07 10:17
まず変数はすべてグローバルとし、
(中略)
まさに一種のデザインパターンといえるだろうね。俺は生まれつきOOをやる資質が備わっていたんだろうね。


253 :デフォルトの名無しさん:03/01/07 10:20
まず変数はすべてグローバルとし、
(中略)
まさに一種のデスマ一直線といえるだろうね。沢村は生まれつきデスマを起こす資質が備わっていたんだろうね。


254 :デフォルトの名無しさん:03/01/07 10:48
保守できなくなったら他人に押しつける

まさに一種のデザインパターンといえるだろうね。俺は生まれつきOOをやる資質が備わっていたんだろうね。

255 :名無し@沢村:03/01/07 12:00
ヌヒ等よ、俺はOOをやっている今でも、プログラムで使う全ての変数を基底クラスにprivateで宣言し、それにアクセスするメソッドをpublicで基底クラスに宣言することがよくあるよ。
そして派生クラスではそれらを操作するメソッドをそのクラスに応じて定義するわけだ。
そして必要に応じてそれからクラスをさらに派生したりコンポジションで包含したりするわけだ。
こうすると基底クラスですべての変数を管理できるとても見通しのよいOOになるよ。
俺はこの方法を自己流だが、もっともすぐれたデザインパターンのひとつだと思っているね。

256 :名無し@沢村:03/01/07 12:05
↑この方法は自然が宇宙をつくりあげている方法と全く同じだと思うので、
「cosmos creatパターン」と呼んでもいいかな?

257 :デフォルトの名無しさん:03/01/07 12:22
デザインパターンの存在理由:
 設計の効率化と、そのロジックについての他者間での疎通を助ける。


258 :デフォルトの名無しさん:03/01/07 13:48
>>250 これのどこがOOなんだ? ただの関数onlyだろよ。

>>256 JavaやC#ですべてのクラスのスーパークラスがObjectクラスだといっているのを真似しているようなものだろ。

スーパークラスですべての変数を管理か?

集約(Aggregation)のことをコンポジションといっているのか。
コンポジション集約と集約とは区別しないということか。

継承だけにたよるのは効率が良いとはおもえないな。
5段も6段も継承するのはよくないな。

自己流といっているが、Bridgeパターンみたいなものだろ。

変数の管理だが、package(C++でいうnamespace)はつかわんのか?

259 :デフォルトの名無しさん:03/01/07 14:19
>>258
> 自己流といっているが、Bridgeパターンみたいなものだろ。

それ以前の、OOPLで何か書く時の常識的作法だと思うぞ。

260 :C++厨:03/01/07 14:46
沢村よ
C++をどう思うかね?

261 :名無し@沢村:03/01/07 16:05
>>260
C++は(シープラプラ)と読むだろ?
この発音が(チンチンブラブラ)みたいで好きくないね。
大きな声でいうのがはばかれるよ。

262 :デフォルトの名無しさん:03/01/07 16:55
▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲

     http://www5b.biglobe.ne.jp/~ryo-kyo/osu.html

▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲

263 :C++厨:03/01/07 17:27
もうアフォかと…
+はPlusだよ。プラってなんだプラって。

264 :デフォルトの名無しさん:03/01/07 17:46
>>261 ではC#, VB.Netをどう思うかね?
>>261みたいなくだらい返答のほかにマジな返答も求む

265 :デフォルトの名無しさん:03/01/07 18:06
沢村が言っていたのはTemplateMethodPatternかな?
一応デザパタらしいよ。

266 :名無し@沢村:03/01/07 20:01
>>264
ヌヒよ、俺はC#, VB.Netはいじったことがないよ。
したがってC#, VB.Netについてはまったくわからんよ。
ところでC++でiアプリはつくれるのかね?

267 :デフォルトの名無しさん:03/01/07 20:31
>>266
漫画家だったって本当?

268 :デフォルトの名無しさん:03/01/07 20:35
>>266
>>255がTemplateMethodだって? 全然TemplateMethodには見えないな。
沢村は本当に理解しているかな。
沢村よ、JavaでつくれるものをなぜわざわざC++で作ろうと思うのかね?
C++しっているならJavaもそれほど難しくは無いだろう。

携帯電話でメモリリークを起こしやすいプログラムでも作りたいのか?

269 :デフォルトの名無しさん:03/01/07 20:36
沢村のはvirtualを使わないC++だからw

270 :デフォルトの名無しさん:03/01/07 20:42
>>269 あら、ひでぇ。ポリもーフィズムも書けないな。
沢村は今まで何を語ってきたのだ?

271 :デフォルトの名無しさん:03/01/07 20:43
沢村先生は仮想継承、多重継承使いまくりです。

272 :デフォルトの名無しさん:03/01/07 20:49
>>271 C#もJavaも使いたくないと言うわけか

273 :デフォルトの名無しさん:03/01/07 21:28
>>270
沢村先生はのなかでは「ポリモフィズム=継承」
ですから。
異常の文脈では使っている事になります.

274 :デフォルトの名無しさん:03/01/07 21:31
>>269 >>271 >>273
沢村のかたを持つわけではないが、お前、煽りだな。
C++厨だな。というかおまえ自身が沢村か?
つまらんことやってないで何か自分の意見を言ってみろ

275 :デフォルトの名無しさん:03/01/07 21:33
>>274
3つのレスを総合すると
ポリモ使えない奴はバカという事でいいんじゃない?

276 :デフォルトの名無しさん:03/01/07 21:48
>>275 そうとう性格の悪そうな奴だな

277 :デフォルトの名無しさん:03/01/07 22:01
煽りも何も沢村自体ネタじゃないの?

278 :デフォルトの名無しさん:03/01/07 23:12
もはや完全に糞スレと化したな・・・


279 :デフォルトの名無しさん:03/01/08 03:25
沢村の名前は厨房たちに永遠に継承されていくので、
沢村 == ポリモフィズム == オブジェクト指向
です。 おめでとうございます。

280 :デフォルトの名無しさん:03/01/08 05:54
感動した
ttp://www.geocities.co.jp/Milano-Cat/4036/siteki.html


281 :デフォルトの名無しさん:03/01/08 13:22
>>277
>>266 >>267 >>269 >>271 >>273 >>275 >>279 は皆同一人物だと言うことか?
ついでに>>277もか?

>>280 FlashのActionScriptでOOが使えんの?
JavaScriptもどきみたいなのでクラス作れる?

282 :デフォルトの名無しさん:03/01/08 13:23
>>281
少なくともクラスがあってインスタンスが作れてそれ対しての操作ができた。

オブジェクト指向の根本的な部分は持ち合わせてる。

283 :デフォルトの名無しさん:03/01/08 13:48
>>282 クラスはありインスタンスは生成できるが
クラスは自作できない、ということか。
JavaScriptと一緒やん。ひたすら委譲するだけですか。
継承も集約もできないのはねえ。ただのライブラリ厨になってしまう。

284 :デフォルトの名無しさん:03/01/08 13:55
>>283
>クラスは自作できない、ということか。

自作というか自分で書くんだよ。絵を。リンゴとかモナーとか。

で、そのクラスからインスタンスを作る。

モナークラスのモナー1と言うインスタンスちょうだいな。

で、そのインスタンスに操作ができる。

モナー1をハァハァさせてね。


って言うか勉強してから物言った方が良いと思う。

285 :デフォルトの名無しさん:03/01/08 13:58
>>284 それはActionScriptじゃないだろ。
マウスで書く部分だろ。
あれがインスタンスというのか?
集約できても継承ができないだろ。
OOらしくないなあ。

っていうか具体化してから物言ったほうが良いと思う。

286 :デフォルトの名無しさん:03/01/08 14:39
なんで厨って集約だとか汎化とか単語を使いたがるの?

287 :デフォルトの名無しさん:03/01/08 15:04
>>286 なんで厨ってOOを知らないの?

288 :デフォルトの名無しさん:03/01/08 15:09
何で厨?

289 :デフォルトの名無しさん:03/01/08 15:14
>>288 氏んで、厨!

290 :デフォルトの名無しさん:03/01/08 15:36
>>266 C++でiアプリ作るくらいならCだけで作った方が容量節約になるだろうな。
Javaでは継承しただけでかなりの容量を食う。
try-catch記述しただけでも相当食う。
オブジェクト指向にこだわっていると30kBを簡単にオーバーする。

291 :デフォルトの名無しさん:03/01/08 16:07
>>285
>あれがインスタンスというのか?

クラスだよ。アホか。

292 :デフォルトの名無しさん:03/01/08 16:08
>>290
で、30KBすら貸してくれないしょぼいレンタルサーバはどこにあるんですか?


293 :デフォルトの名無しさん:03/01/08 16:16
>>290
じゃあアセンブラで組めば最適だな。

294 :デフォルトの名無しさん:03/01/08 16:17
>>291
> >あれがインスタンスというのか?
> クラスだよ。アホか。
同じようなもんだろ。だが、クラスに相当するにはライブラリに登録されたシンボルのほうだろ。
描く部分はインスタンスに相当するだろ。アホか? と逆にいいたい。

>>292 しらねー。てかお前、沢村の言っているiアプリがなんだか解ってる?
レンタルサーバの話が出ている時点で解っていないようだね。

295 :デフォルトの名無しさん:03/01/08 16:21
クラスとインスタンスを混同している方が参戦。どうなる。

次回、「あの日の厨はうすしお味」。
来週のこのチャンネルにオーバーラーーーーーイド!

とかの後に出る。


来週をお楽しみに!


の画面がすごく寂しいんですがどうすればいいでしょうか?

296 :デフォルトの名無しさん:03/01/08 16:28
>>295 自作自演は氏ね

297 :デフォルトの名無しさん:03/01/08 16:31
>>296


298 :デフォルトの名無しさん:03/01/08 17:09
>>292 30kBというのは携帯電話内の記憶装置の容量だろ。
レンタルサーバとは関係が無い。

299 :デフォルトの名無しさん:03/01/08 17:12
>プログラムで使う全ての変数を基底クラスにprivateで宣言し、それにアクセスするメソッドを
>publicで基底クラスに宣言することがよくあるよ。
staticを知らない人がいる・・・


300 :デフォルトの名無しさん:03/01/08 17:21
>>298
って読み違えだな。スマソ。
で、何でCでiアプリなんて夢物語の話してたの?

301 :デフォルトの名無しさん:03/01/08 17:47
>>300 沢村に聞いてくれ。
だが、CでiアプリならM$もやりたがっていたぞ。
Javaが携帯電話に使われるのが気に入らないらしい。
M$はそういうものをすぐに妬んで真似をする。そして市場を独占しようとする。

302 :デフォルトの名無しさん:03/01/08 17:53
>>299 そのあたりの引用文では沢村の逝っていることは間違っていない。
沢村はBeanみたいな使い方を言っているだけだろ。
それをさらにBridgeパターンのように使っている。
お前が言いたいことは定数のことだろ?
こういうことか?
interface SecoundChannel {
public static final int FALSE = 0;
public static final int TRUE = 1;
}

303 :デフォルトの名無しさん:03/01/08 18:11
iアプリって、10Kまでじゃなかったっけ…?

304 :デフォルトの名無しさん:03/01/08 18:39
>>303 いつの時代の話をしているんだ。30kBにあがったはず。
まあ古い機種を持っている人もいるだろうから、そういう人たちに合わせて
10kBにした方がいいかもしれないね。

305 :名無し@沢村:03/01/08 21:08
mklファイルのヘッダチャンク11バイト目から13バイト目の01h01h01hというのは何?


306 :IP記録実験:03/01/08 21:11
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。

307 :名無し@沢村:03/01/08 21:14
>>306
うざい、消えろ!!
いま>>305でオブジェクト指向でiアプリに関する大事な話をしているところなんだよ!!

308 :デフォルトの名無しさん:03/01/08 21:16
>>307
テメーも消えな

309 :名無し@沢村:03/01/08 21:58
ヌヒ等よ、オムツひろゆきに関するマルチポストでずいぶんさがってしまったのであげるよ。
ヌヒ等よ、繰り返すが、mklファイルのヘッダチャンク11バイト目から13バイト目の01h01h01hというのは何?


310 :名無し@沢村:03/01/08 23:13
格言:金は金を呼ぶ、無金は無金を呼ぶ、借金は借金を呼ぶ
理由:ヌヒ等はプログラムをやって金をもうけることが夢に違いない。
だが、いくら技術力や企画力や実務の力があっても、金を持たない人に金が集まることは絶対ない!!
金を稼ぐのに一番大事なことは、その人が金を持っているかどうかである。
金さえたくさん持っていれば自然に金は集まってくるし、金を持ってないといくら努力しても金を稼ぐことはできない。
これはいついかなる場合でもあてはまる絶対的な法則である!!
だが、借金をして自分を金を持っている状態にしても金は集まらない。
借金をして集めることができるのは、次なる借金だけである!!
ヌヒ等よ、これはいついかなる場合でもあてはまる絶対的な法則であるぞよ!!


311 :デフォルトの名無しさん:03/01/08 23:15
ただのマルチ

312 :デフォルトの名無しさん:03/01/08 23:15
沢村さんは資金あるの?

313 :デフォルトの名無しさん:03/01/08 23:21
>>292はネタだろ?
なぁ?よくわかんないけどさ。

314 :デフォルトの名無しさん:03/01/09 00:20
>>11
裏切り者

315 :デフォルトの名無しさん:03/01/09 00:27
>>1
お前の彼女な

キャバクラで働いてたぞ

316 :デフォルトの名無しさん:03/01/09 00:48
>>199
全レスの意味を禿げらしく取り違えてる模様

317 :デフォルトの名無しさん:03/01/09 00:53
>>245

それは名言ですね。

318 :デフォルトの名無しさん:03/01/09 01:02
>>299 そのあたりの引用文では沢村の逝っていることは間違っていない。
staticを使えばグローバル変数もどきはできるよ。
継承する意味はない。
デザパタで言えば、その方法はシングルトンパターンというのがあったような気がするけど。
定数ならそのやり方でOK.
まあ、ブリッジとか言ってる奴は
ブリッジの使い方を普通に知らないような気がするな。

319 :デフォルトの名無しさん:03/01/09 01:05
わざわざアホばっかの糞スレに出張ってきて
何か気の利いたことを逝ってるつもりになってる奴ってあまりにも痛すぎるよ。

320 :デフォルトの名無しさん:03/01/09 01:09
悲しいときー。悲しいときー。
正月に友人からエロゲーを借りて喜んで帰ってきたら、
パソコンが壊れてたー。

昨日ヨドバシカメラで部品買ってきて直しました。


321 :デフォルトの名無しさん:03/01/09 01:25
>>385
そんなもんだろ・・・


322 :デフォルトの名無しさん:03/01/09 02:00
>>593
昔からとってたよ。

323 :デフォルトの名無しさん:03/01/09 02:17
>>318 何かスレッドが荒れているようだな。
コピペ荒らしばかりしている厨房が目立つ。
リンク先もまだ未投稿の番号ばかりを対称にしている。
スレッド荒らしている香具師は頭がいかれたのか?
馬鹿にするつもりはないが頭を冷やして誰かと会話をするか、
自分の悩みを打ち明けるか、どこかに散歩するか旅をすることをお勧めする。
ゆっくりとデザインパターンの本でもよんでOOの世界の素晴らしさを体験することをお勧めする。

>>318 何をいっているのか全然解らないぞ。
>>299と絡めても全然筋が通ってないぞ。
そもそも >>299の説明が不十分すぎる。
>>318はBridgeパターンもSingletonパターンも解っていないようだ。
Singletonパターンは複製されてもあくまで同一である定数、複数のインスタンスを生成されたくないオブジェクトを定義するときに使うものだぞ。
SingletonはGoFの中で最も簡単なパターンだが。
沢村が説明していることは定数ではなくJavaBeansで使われるようなカプセル化された変数の扱いのようだが。
だからBridgeパターンに似ているのでは、と思ったのだ。
もっといいパターンもあると思うが、BridgeのかわりにSingletonとはとんだ間違いだ。

Javaでの話だが、staticなんて定数以外極力使うべきではない。OOらしさが失われる。

324 :デフォルトの名無しさん:03/01/09 02:43
296 名前:ひろゆき ◆3SHRUNYAXA [] 投稿日:03/01/08 17:57 ID:rLfxQ17l
黒澤映画ってみる機会ないんですよねぇ、
みてみたいんですが。

325 :デフォルトの名無しさん:03/01/09 03:29
2ちゃんねるも終わったな。
ひろゆきなんて信用できない。
こうなったら、俺が巨大匿名掲示板を作ってやるぜ


















っていう奴はいないのだろうか

326 :デフォルトの名無しさん:03/01/09 12:21
>>87はれスも見ない初心者


327 :デフォルトの名無しさん:03/01/09 18:14
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────

328 :名無し@沢村:03/01/09 22:40
ヌヒ等よ、若いヌヒ等よ。ヌヒ等はプログラムをしていて気が散ることはないか?
ヌヒ等よ、ヌヒ等は若いのでその気の散り方は主に性的なものであろう?
ヌヒ等はプログラムをしていて性的にムラムラッとして気が散るのであろう?
ヌヒ等よ、それはプログラムの能率を下げるので直したほうがいいぞ。
ヌヒ等よ、ヌヒ等が何故性的にムラムラッとして気が散るかといえば、それは女の尻がきれいだと思うためだ。
ヌヒ等よ、女の尻がきれいだと思うのは、若さ故の錯覚よ!!
そしてヌヒ等は男の尻はこぎたないと思っているのであろう!?
ヌヒ等よ、女の尻のきれいさきたなさは、実は男のしりのきれいさきたなさと何ら変わるところがないのだぞ!!
このことを実感として認識できるようになったとき、ヌヒ等は真に大人になったといえるのだぞ!!
ヌヒ等よ!!


329 :デフォルトの名無しさん:03/01/09 22:59
>>713
もっとどんどん増やしてください
hobby鯖導入きぼーん

どうということがあるわけではなく、気分の問題

330 :デフォルトの名無しさん:03/01/09 23:00
InterpreterパターンってOOなんですか?

331 :デフォルトの名無しさん:03/01/09 23:19
>>330 GoF本読め

332 :デフォルトの名無しさん:03/01/09 23:36
(´-`).。oO(スクリプト荒よりも沢村の方が邪魔なのはなんでだろう?)

333 :デフォルトの名無しさん:03/01/10 00:54
yahooニュースのトップ項目に載るほどのことか

334 :デフォルトの名無しさん:03/01/10 02:08
コピペで荒らされてるけど、保守

335 :デフォルトの名無しさん:03/01/10 02:19
ところで唐突な話で恐縮ですが、最近GoF本を読んで思ったんですが、
"Bridgeパターン"と"Decoratar"パターンをあわせると、
"Facadeパターン"になるような気がして夜も眠れません。

これもある意味、パターンのコンポジット化というのでしょうか。


336 :デフォルトの名無しさん:03/01/10 03:13
>Singletonパターンは複製されてもあくまで同一である定数、複数のインスタンスを生成されたくないオブジェクトを定義するときに使うものだぞ。
おいおい・・・
まあ、複数のインスタンスの生成をしないようにするってのはあってるけど
なんで定数なんだ?
定数ならクラス変数でいいんだって。

>沢村が説明していることは定数ではなくJavaBeansで使われるようなカプセル化された変数の扱いのようだが。
沢村が説明しているのは、とんでもパターンだよ。
まあ、そんなに強く主張するなら、サンプルコードでも書いてよ。

>もっといいパターンもあると思うが、BridgeのかわりにSingletonとはとんだ間違いだ。
BridgeパターンがなんでBridgeって名前なのか知らないんだね・・・
そうだとすれば、話の内容から推測すると
Bridgeパターンの普通の使い方がわかってないみたいだね。
Singletonもあやしいしね。
シングルトンはどこで使うもんだと思ってるの?
アクセサメソッドつきのグローバル変数ってのはなかなか使いやすい
もんだと思うけどね。

>Javaでの話だが、staticなんて定数以外極力使うべきではない。OOらしさが失われる。
まあ、それはもっともだけど。
OOらしさって何ってとこにはつっこまないけど。


337 :デフォルトの名無しさん:03/01/10 03:14
BridgeパターンがなんでBridgeって名前なのか知らないんだね・・・
そうだとすれば、話の内容から推測すると
Bridgeパターンの普通の使い方がわかってないみたいだね。
Singletonもあやしいしね。
って意味で書いたんだけどね<-ここ書き忘れたスマソ

338 :デフォルトの名無しさん:03/01/10 03:14
パターンの掛け合わせは良くある。無い設計は無い。
っていうか、GoFのパターンが全てでは無い。

339 :デフォルトの名無しさん:03/01/10 04:38
GangOfFourのデザパタはOOの考え方を主体に、その表現手段のバリエーションの
道標を立てているにすぎない。

"パターンありき"で設計するのでは無く、設計にパターンをあてはめるべき。
だから、"普通の使い方"という言い方は、どうか。

340 :デフォルトの名無しさん:03/01/10 05:08
つーか、デザパタをストレートに使うんじゃなくて

ある実装があって、それがあるパターンに近い時に
その実装が、なんとかパターンだっていう風に言うわけだ。
で、パターンにはコーディングスタイルと目的の2つがあるわけだ。
見た目が同じでも、使い方が違うのであれば違うもの。
極端に言えば、あるパターンをものすごくトリッキーにつかってしまえば
それはパターンではない。

341 :デフォルトの名無しさん:03/01/10 09:27
■ログ記録実験の巻■
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!

─────────────────────── 2ch-net─
メルマガ登録・解除 http://www.2ch.net/mag.html

http://www.2ch.net/2ch.html / 2ch@2ch.net
───────────────────────────

342 :デフォルトの名無しさん:03/01/10 09:44
>>13
そこまで端的に書かれてみるとかなり怖いものがあるな・・・。

343 :デフォルトの名無しさん:03/01/10 09:49
>>13
そこまで端的に書かれてみるとかなり怖いものがあるな・・・。

344 :デフォルトの名無しさん:03/01/10 10:07
過去の裁判関係資料として。

日本生命の削除依頼公開スレッド
http://news.2ch.net/test/read.cgi/newsplus/1004597354/
1 名前:ひろゆき@暫定管理人 ★ [] 投稿日:01/11/01 (木) 15:49 ID:???
「削除依頼は公開」の原則に従って削除したものを公開してますー。
ソース。
http://www.dd.iij4u.or.jp/~cap/nissei/

3 名前:ひろゆき@暫定管理人 ★ [] 投稿日:01/11/01 (木) 15:53 ID:???
仮処分で削除と決まったやつです。

345 :デフォルトの名無しさん:03/01/10 10:11
だいたい"デザパタ=OO"じゃないし。

346 :デフォルトの名無しさん:03/01/10 10:42
>>367
これすね。

http://www.jiji.com/cgi-bin/content.cgi?content=021225154602X404&genre=soc

347 :デフォルトの名無しさん:03/01/10 11:24
コピペ職人さん帰省しないの?

348 :デフォルトの名無しさん:03/01/10 11:50

100万円以下              263万9000人  15.7%     
100万円超 200万円以下       363万8000人  21.2%
200万円超 300万円以下      412万2000人   25.7%  
300万円超 400万円以下      322万3000人   19.4%    
400万円超 500万円以下      147万4000人   8.5% 
500万円超 600万円以下      72万1000人    4.1%
600万円超 700万円以下      33万2000人    2.2%
700万円超 800万円以下      19万5000人    1.2%   
800万円超 900万円以下      11万6000人    0.7%  
900万円超1, 000万円以下      7万1000人    0.4%
1,000万円超 1,500万円以下    10万6000人    0.6% 
1,500万円超 2,000万円以下    1万8000人     0.1%  
2,000万円超               9000人       0.1% 

349 :デフォルトの名無しさん:03/01/10 12:45
大体こんな変なことやってる
http://www24.big.or.jp/~faru/txt1060.htmlの「N.T.Technologyについて」等を参照)
ところ何かにIPを預けれる人ってのはあんまりいないでしょ、、、

350 :デフォルトの名無しさん:03/01/10 15:07
同じく。

351 :デフォルトの名無しさん:03/01/10 16:35
悲しみを肴にオナニー

352 :名無し@沢村:03/01/10 22:52
「名誉毀損」って何?
そもそも名誉なんて普通の人間にはないだろ?
あるのはノーベル賞受賞者とか皇族とか名誉教授くらいだよ。
ないものをどうやって毀損する?
どう考えたって「名誉毀損」っておかしいよな…?
また「プライバシー保護法」ってのもおかしいよな…?
もちろん泥棒してない人のことを「あの人は泥棒した」といって回ったらいけないけど、ホントのことをいって何がわるいと思うよ。
ホントのことをいうことがどうして法に触れるの?
どう考えたってこれらの法律はおかしいよ。


353 :デフォルトの名無しさん:03/01/10 22:56
ひろゆき
お前にはがっかりした。
2chにも。さいなら。

354 :デフォルトの名無しさん:03/01/10 23:02
この板、荒れなくなったね

355 :デフォルトの名無しさん:03/01/11 00:00
ほぅ

356 :デフォルトの名無しさん:03/01/11 00:08
タ、タメ口がいけないと仰るのでございましょうかっ!?
とはいえ、わたくしはタメ口とは無関係ではべりし候でございますが。

357 :デフォルトの名無しさん:03/01/11 09:31
つまり、実験が終わったら元通り・・・なはずないか

358 :デフォルトの名無しさん:03/01/11 09:32
快速タンに少しでも近づこうと、今年のお屠蘇はマッコリ酒にしてみましたが血糖値がずいぶんあがったようです。

359 :デフォルトの名無しさん:03/01/11 10:06
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 139038人 発行日:2003/1/10

なにやら、連日メルマガだしてるひろゆきです。

そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。

重くなって落ちたりしてもご愛嬌ってことで。。。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────

360 :デフォルトの名無しさん:03/01/11 10:58
はマジで出来るの?
fushianaとかになったらいやだな

361 :デフォルトの名無しさん:03/01/11 12:30
メール欄に文字を入れてIDを出させない方法が
あったということなんだ。
知らなかった・・・

362 :デフォルトの名無しさん:03/01/11 13:03
嘘言うな!

363 :デフォルトの名無しさん:03/01/11 15:52
1ch.tvとかか?(w

364 :デフォルトの名無しさん:03/01/11 15:57
リモホって何?
リモートホストって、用語辞典に載ってないよ
誰かおせーて

365 :デフォルトの名無しさん:03/01/11 19:00
>>364
死ね。

366 :名無し@沢村:03/01/11 20:29
おいヌヒ等よ、大変だぞ!!
俺はふと思って2ちゃんねるのあっちこちの板を見て回ったのよ。
格闘技板とかアナウンサー板とかプログラマー板とかをな。
そうしたらな、どこのスレ開いても最近ひろゆきの話題が出てる板はプログラム技術板だけだったぞ!!
ヌヒ等よ、ここは2ちゃんねるいっちゃん恥ずかしい板だぞ!!


367 :沢村 ◆SAWAKVNZoo :03/01/11 20:35
>>366
大丈夫だ。兄貴。俺の住処の自作板は奴のおかげで壊滅した。

368 :デフォルトの名無しさん:03/01/11 22:48
スクリプト荒し=沢村

369 :デフォルトの名無しさん:03/01/11 23:32
たとえばここで唐突に広末をどうしたいと叫んだところで、
その広末がどの広末なのか特定するのは事実上不可能です。
しかし特定の有名人の広末を主題とするスレッドで
類似発言を連呼すればグレーゾーンに入りますね。
「ケース・バイ・ケース」という言い古された言葉を
貴方の鈍いオツムに吹き込んでおくしかありません。

上の最後の一行について名誉毀損で訴えますか?(笑


370 :デフォルトの名無しさん:03/01/11 23:32
独立スレ立ちました。。

【2ch】管理人のひろゆき氏がqbサーバで全レスIP記録の実験を開始
http://news2.2ch.net/test/read.cgi/newsplus/1042017485/

371 :デフォルトの名無しさん:03/01/11 23:42
>類似発言を連呼すればグレーゾーンに入りますね。
で、何でそれをお前が決めるんだ??

372 :デフォルトの名無しさん:03/01/12 02:21
(・∀・)?

373 :デフォルトの名無しさん:03/01/12 02:25
とりあえず処置されたようです。

374 :368:03/01/12 09:26
どうやら図星のようだ

375 :デフォルトの名無しさん:03/01/12 09:56
ヽ(`Д´)ノウワァァン!

376 :デフォルトの名無しさん:03/01/12 09:57
その具体的な理由として社長は、こう話す。
「2ちゃんねるはボランティアの削除人が書き込みをチェックして、
好ましくない書き込みを一所懸命削除している、
ということになっているが、あれはウソ。
削除人には給料が支払われ、その給料の原資となっているのが、
まずいことを書き込まれた企業が削除要求とともに渡す裏金。
これはまさに、総会屋の構図そのものだ。
これまで裁判になっているのは金額で折り合えなかったり、
裏金を出さない強い態度の企業とだけだ」


377 :デフォルトの名無しさん:03/01/12 20:45
http://wow.bbspink.com/test/read.cgi/feti/1039253916/

の522からなんか出てるんですけど
2chってこんなに変わるの?

378 :デフォルトの名無しさん:03/01/12 20:48
アフォか! 2ch に入り浸っているから見えないんだろうな。。

閲覧してなくとも 2ch で書かれていることで名誉毀損を受けているという事実があれば
実際に閲覧していなくとも削除要求は有効だ。

そして、2ch は既に名誉毀損の要件となり得る公共のメディアとして認知度がある、
と裁判所が判断した。わかる?

379 :デフォルトの名無しさん:03/01/12 20:57
3.今日は2ちゃんを忘れてゲーセン逝って、喪前の腕を磨いて来る

380 :山崎渉:03/01/13 18:37
(^^)

381 :デフォルトの名無しさん:03/01/13 22:34
次週には元気に走ってる刑事ドラマと違い
銃創や刀瘡は一生残るだろうな
以前入院してたトコに発砲事件で手を撃たれた主婦が来てた
軽症ってことで殆ど報道もされなかったが
肉と神経を掠った右手は、端は持てない字は書けない
賠償請求しようにも犯人に支払能力無しで治療費自腹
見ていて痛々しかった

犯人の私財も私物も刑務所での給与も取り上げろ!償い終わるまで贅沢を許すな
民事賠償が円満に終わるか保険入って首括るまで塀の中に入れとけ




382 :山崎渉:03/01/15 17:58
(^^)

383 :名無し@沢村:03/01/25 21:01
ヌヒ等よ、言語にはCやJAVAやCOBOLなどいろいろあって、
その組み方には手続き型やらオブジェクト指向やらいろいろあるだろ?
もし日本語や英語などの普通の言語でオブジェクト指向風に話すとしたら、どんな会話になるよ?

384 :デフォルトの名無しさん:03/01/25 21:04
>>383
沢村はアホなので沢村は死ね。

if(!sawamura.wise)
sawamura.die();

385 :名無し@沢村:03/01/25 21:12
ヌヒ等よ、もし日本語や英語などの普通の言語でオブジェクト指向をやるとしたら、名詞はプライベートにして相手から隠蔽するようにしなければならないね。
そして動詞や形容詞を使って名詞にアクセスするんだよ。
また動詞の働きとか形容詞が形容するものとかはやはりカプセル化しなければならない。
そのためにはまず動詞と形容詞を仮想のものとして宣言し、あとでその働きとか形容するものを実装しないとダメだろうね。
そうすると
「まずこれがあれであんなふうなあれ。だからほらあれ、あんな感じのあんな動きをするあれ。ほらそれそんなふうなそれ」という会話になるのでゃないか?と予想するのだが、ヌヒ等はどう思うよ。

386 :デフォルトの名無しさん:03/01/25 21:46
>>385 そういうことは人工知能スレッドで質問しろ

387 :デフォルトの名無しさん:03/01/25 22:41
>>385
オントロジーみたいな話だね。
そっちいくと、まだ「正しいやり方」みたいのが確立していないから、
苦労すると思うよ。

99 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)