- 105 名前:デフォルトの名無しさん mailto:sage [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はこれがないと根本的に動かない。
|

|