お世話になっております。 A.中村です。

On Fri, 12 Mar 1999 17:20:04 +0900
Shugo Maeda <shugo / netlab.co.jp> wrote:

->となっていますが、実際にはインスタンス変数のアクセスメソッドが定義さ
->れるだけで、何かアクセスメソッドとは別の「属性」というものが定義され
->るわけではありません。
-># 心理的効果としては「属性が定義される」といってもよいかもしれませんが。

delphiでいうpropertyのような「第3の単語(1と2はgetterとsetter)」は
出番がないということですか…
たしかにちょっと違うですね。

つまり、「メソッドを定義するメソッド」というものが作れるかどうか
という所になるのかな。無論delphiじゃそんな賢い(^^;こと出来ないし。

-># 実際メソッドを定義せずに直接変数の値を読んだりすることもできたよう
-># な気がします。

ええ。メソッドまたは変数そのものへのaliasです。
#アクセス許可は別途発行ですが

->obj.attr = ...
->と書きたいだけであれば、それこそsyntax sugarでよいわけですから、やは
->りコンポーネントを意識した仕様だと考えるのが自然ではないでしょうか。

逆にいえば、砂糖でしかない(?)場合、コンポには適用できないんでしょうか?
かっこよくはないけどjava beansが、まさにそれに対する答えになっちゃって
いるような気がします。砂糖と呼ぶほどにもなってないけどコンポ(bean)に
適用できてるわけで、結局コンポにとって重要なのは属性(?)の成り立ちじゃなくて
                     属性をどう参照できるか
だと思うのです。(よって、RTTIが絡むpublished指定のほうが…という文脈へ)

-># そういえばC++ Builderではどうしてるのかしら。

言語仕様拡張おもいっきりモードらしいっす。
最初C++Bの登場は(nativeがCな)自分にとっても福音かと思ったんですが、
ある日、先日のRubyホメパゲお言葉のような「あのC++に更に仕様を足して
どうすんだ」が天啓のようにひらめき、以来「C++でないdelphiがあって
よかったなぁ」と考えるようになりました(^^;

拡張してるのはクラス定義の所です。作られたクラス&インスタンスは
delphiがそうであるように普通に書ける、らしい(笑)です。
でも.と->の使い分けはC(++)のそれを厳守してるもんだから
参照ベースのオブジェクト配置しか許してないdelphi世界を模倣するために
オブジェクトを使う側のソースも矢印まみれ…(^^;


->Javaの場合は「そこまで言語でサポートする必要はないんじゃない?」とい
->うスタンスなのでしょうね。
->賢いRADツールがあれば、問題ないと思います。

マウスでお絵描き(違うって)ツールが大前提でしたっけ。
うひゃー重い。