プロトタイプベース・オブジェクト指向
at TECH
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