[Squeak-ja: 3877] Re: Object特異的な情報を含むメッセージの発信について

Kazuhiro ABE abee @ squeakland.jp
2008年 5月 11日 (日) 21:11:21 JST


こんにちは、阿部です。
Smallralkの場合、メッセージを受け取るレシーバも、送るセンダも、その引数もすべてオブジェクトであり、それが特定のクラスに属す必要があるなどの制約はありません。
もし、引数にレシーバと同じクラスのインスタンスが使えないとなると、3 +
4も計算できないことになります(3と4はいずれもSmallIntegerのインスタンス。3がレシーバで+
4がメッセージ。+がメッセージセレクタで、4がその引数。センダはコンテキストに依存。もしワークスペースでdo
itしたならnil。レシーバは受け取ったメッセージのセレクタにマッチするメソッドを探索して実行します)。
もしかすると、Smalltalk(とそのオブジェクト指向)の考え方に関して、すこしずれがあるのかもしれません。たとえば、青木淳さんの「オブジェクト指向システム分析設計入門」や「Smalltalkイディオム」をお読みになることをお勧めします。これらの本は絶版ですが、幸いなことにWebで全文が公開されています。

http://www.sra.co.jp/people/aoki/IntroductionToOOAOOD/index.htm
http://www.sra.co.jp/people/aoki/SmalltalkIdioms/index.htm

 //abee
--
阿部 和広  EMAIL abee @ squeakland.jp

08/05/11 に Hiromichi Tsurui<tsurui @ med.juntendo.ac.jp> さんは書きました:
> 阿部さん、何時もながら迅速な応答をありがとうございます。
> メッセージが引数として受信側と同じクラスのものを送れるとは思いも拠りませんでした。
> このような扱いが可能でしたら、object間の極めて複雑な相互作用も扱える、ということですね。
> 早速トライしてみます。


Squeak-ja メーリングリストの案内