けいじゅ@SHLジャパンです. いやあ. なかなか楽しい話題ですねえ. In [ruby-list :02603 ] the message: "[ruby-list:2603] Re: class design (Re: url escape) ", on Apr/04 20:28(+0200) sinara / blade.nagaokaut.ac.jp writes: >基礎論っていうと、この前のカレー宴会で一緒だった「前議長」takun >が基礎論だったらしいんですよ。酔っ払うと Grothendieck tops がど >うのこうのと分かんないこと言い出して困る。^_^; 私も基礎論が専門ではなく趣味でやっていただけですので... 私の専門は多様 体上の解析学でした. >なるほど。スーパークラス一部の能力を使いたいがために、安易に継 >承してしまうのが気持ち悪いのですね。意味的にきちんと継承(包含) >関係になければ継承しないと。 これって, Smalltalkが単純継承しかないからこういう傾向が強くなるんです よ. rubyでは moduleがあるからもっと別な考え方を持っています. >そうなると、ほんとに神様の様に1からクラスを作って行くわけです >ね。私は一応数学屋の癖に非体系嗜好というか、ちょろっとチョロマ >カシて、その場がしのげればいいやみたいなところがあって、、、性 >格ですかね。^^; クラス継承を使うのでなくて, デレゲーションを利用するんで, あまり手間は 変わらないんですけどね. 継承を使うということは, 隠蔽されたクラスを利用するわけでないので, 利用 に関してそれなりの責任が出てきますしね. >なるほどなるほど。このあたり私は完全に「オブジェクト指向」を >誤解していました。私は最初オブジェクト指向というのは、ruby の >module の様な、数学でいうと「圏論」的な機能中心主義というか、 >「配管はするけどその中に何が通って行くは関知しないよ」的なも >のをイメージしていました。むしろ対極の考えでした。 そうそう. この辺がrubyの気に入っているところでもあるのです. moduleはな かなか良い概念だと思っています. 例えば先の Array と Vector のようなも のでも moduleとして Arrayable のようなものがあって, それを Vectorが includeすればそれはきれいな関係になっていると思います. >> 最近は, ソケットの汎用プロトコル作成/通信フレームワークに挑戦中なので >> すが, そこでは mix-inモジュールの効果的利用法に挑戦中です. FWの様なあ >> る程度制限された用途のクラスライブラリにおけるmix-inモジュールも色々な >> 用途があるなあと実感しつつあります. > >楽しみにしています。(^_^) なかなかフレームワークは難しい(^^;;; 気分転換に Syncronizerクラスを作 りました. 新しい ruby には添付されているんじゃないかしら? In [ruby-list :02606 ] the message: "[ruby-list:2606] Re: class design (Re: url escape) ", on Apr/04 20:56(+0200) matz / caelum.co.jp (Yukihiro Matsumoto) writes: >なるほどねえ.実は私は(rubyの)継承というのは機能の共有のため >だけに存在していると考えています.静的な型のない言語では継承 >関係があるからプロトコルが一致するとかいうような型に関する性 >質(仕様の継承)はあまり意味が無いです.undefがあるrubyでは特 >にそうですね. 単純に言語論的な見地から見ればそうかも知れません. >つまり,ちょっと極論すると,ユーザにとっては継承なんてそれほ >ど意味が無くて,実装者の利便のためだと考えています. ># 本当はユーザも継承から類推がきくという大きな利益を受けてい ># るのですが. そうそう. 私はそういう問題を重視しているので, 使いやすいライブラリを作 るために, スーパクラスの継承においては, 概念継承(と構造の継承)を重視し, モジュールの継承は機能の継承を重視して考えるようにしています. ついでにいうならば, 個人的に使うクラスや内部に隠れたクラスはどのように 作っても良いと思っています. >|なるほどなるほど。このあたり私は完全に「オブジェクト指向」を >|誤解していました。私は最初オブジェクト指向というのは、ruby の >|module の様な、数学でいうと「圏論」的な機能中心主義というか、 >|「配管はするけどその中に何が通って行くは関知しないよ」的なも >|のをイメージしていました。むしろ対極の考えでした。 >なんか中国語を読んでいるようです理解できていないのですが, >rubyのオブジェクト指向ってのは,結構最初の原さんの理解に近い >かも. 私も近いと信じているんですけど... ただ, モジュールとクラスの使いわけ方 がはっきりしているということではないかしら?? __ .....................................石塚 圭樹@SHLジャパン(株)... ------------->アドレス変わりました!! e-mail: keiju / shljapan.co.jp <----