プロトタイプベース・オブジェクト指向 at TECH
[2ch|▼Menu]
105:デフォルトの名無しさん
04/01/21 02:22
>>98
> ということで、ややスレ違いで恐縮なんだけど、
> >>93のように、Smalltalk って、インスタンスの属するクラスをを動的に変更
> できるの?まさか、キャストのことじゃないよね?

キャストじゃないよ。そもそもSmalltalkは動的型付だからキャストは存在しない。

> インスタンスが生成されたあとでも、その属するクラスを動的に変更できると
> したら、プロトタイプベースと同等の自由度だよね?にわかに信じがたい。
> もし本当なら、Javaでは信じられない世界だ。

とりあえず簡単なやり方としては、

1. 自分相当のオブジェクトを違うクラス(仮にAnotherMyClassと呼ぶ)で生成する。
 newSelf ← AnotherMyClass from: self.

2. 自分をnewSelfにする。
 self become: newSelf.

これで、今までの自分とはサヨナラ、これからの私はAnotherMyClassのオブジェクトです、
となる。

ちなみに>>99さん、become:はまだ生きてますよ。
というか、Smalltalkはこれがないと根本的に動かない。


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5404日前に更新/368 KB
担当:undef