[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 1563] Re: Ruby のポインタ (wasRe: 集約とコンポジション)



In article <200103061545.AA00915@xxxxxxxxxxxxxxx>
Kazuya Maebashi wrote:
>># 私より後に書きはじめてるのに先に発売されてるし^^;;
>
>次の締切は今月末だったりするし (-_-;; 死にそうっす。

げ。はゃー…

>で、えーと、すみません、木下さんも何か書いておられるんでしたっけ?
>今のところここではアナウンスされてないですよね? (見落としでしたら
>すみません)
>
>楽しみにしています。

なんとか探せば見つかるかといったところです^^。
# Webの整理中。

>>関係は重要だけど、それが例えばLinkedListで実現してるかArrayListで
>>実現してるかみたいなことは、*利用者が*データ構造を見る上で重要
>>じゃないということと思います。
>
>それはそうですね。ただ、例えばそれがCollectionとして保持されて
>いたとしても、やっぱりprivateであることに変わりはないわけで。

でもそういう「属性」を持つクラスであるという事が重要であるならばク
ラスの関係図(すなわちちょっと抽象化されてるけどデータ構造といって
いいと思う)には現れているはずだろう(べき)、くらいの主張です。
(たとえそれにアクセスするpublicな手段が無くとも)
# もちろんドキュメントが苦手な私としては守れているというわけではな
# いんですけど^^、UMLとかの存在意義の一つのはず。

>>そのクラスをメンテナンスしようとするひとはもちろん
>>privateフィールドも全部見るわけですが・・・。
>
>そうですね。
>
>publicなメソッドの仕様から、それがCollectionであることを
>推測しなきゃいけないとしたら、ずいぶん妙な話だと思いますし。

collection(集合)であるか否かはメソッドの仕様というよりはクラスの仕
様として現れている必要がありそうですねぇ。

>>参照という用語についてちょっと興味深い意見が去年の10月にfjで出て
>>いました。
>
>参考になります。
>
>これの書き手は前田さんですよね。すみません、newsgroupはどこでしょう?
># Queenだかで検索すればわかるんでしたっけ...

fj.comp.oops等で2000/10/29あたりです。
Webで見れるかなーと探して
http://galaxy.rwcp.or.jp/text/cgi-bin/newsarticle2?ng=fj.comp.oops&nb=4293
を見つけました。ここから始まるスレッドです。元はJavaHouseですけど
^^。

>>In article <87wveqq3nc.wl@xxxxxxxxxxxxxxxxxxx>
>>Shugo Maeda wrote:
>>>ところが、参照型しかない(あるいは実装上即値である場合も、モデル上
>>>はすべて参照とみなせる)言語(Lisp、CLU、Rubyなど)の場合は、必ずし
>>>も「変数は値を格納する箱のようなものである」と考える必要はなくて、
>>>「変数とは何らかの値(オブジェクト)を指し示す名札のようなものであ
>>>る」というモデルで理解することもできる(し、その方がわかりやすい)
>>>と思うんです。
>>>
>>>図で説明すると、
>>>
>>>       変数x ---> 文字列"abc"
>>>
>>>のようなモデルです。
>>>
>>>このようなモデルを採用できる場合は、「いかなる意味におけるポイン
>>>タ値も存在しない」と言ってよいと思うのですが、いかがでしょうか。
>
>うーん...
>
>でも、この「名札」は、別の名札に「代入」できて、そうするとそっちの
>名札に「名札の内容(名前?)」だけが複製されるわけですよね。

名札を代入するのではなくて、この名札を付けているオブジェクトに対し
て別のこの名札も付ける、という感覚だろうと:)。

>Cなどの変数を「箱」ととらえてもいいけど、簡単に消せるホワイトボード
>みたいなとらえかたも出来ます。そして、この場合の「名札」ってのは、
>まさに小さなホワイトボードなのでは?
>
>前田さんの図によると、「名札」というより「紐付けされた、(何も書いて
>ない)タグ」のようにも見えますが、そのモデルでは「参照の代入」を
>どうとらえるのでしょう?

              名札1
                |
                |
名札2 --- [オブジェクト] --- 名札3

と言う感じでしょうか。
# やっぱ敢えて矢印状にしない方がいい気がした^^。

ポインタの感覚だと代入ですが、名札だと付け替えという感覚で、まるで
オブジェクトについて回るもののような感じなのかなぁ。そうすると、と
ある名札を取り出した時、それは「オブジェクトへの参照である」と言わ
れると、確かに先入観が無ければ受け入れられるかもという気になってい
ると。


--
木下 信@ひらつか
http://www.sk-jp.com/