OOP 2
■ このスレッドは過去ログ倉庫に格納されています
0560デフォルトの名無しさん
2010/12/01(水) 23:09:43> って言ってるのはつまり、インターフェースに頼る多態もクソって言ってるんでしょ。
そそ、その通り。共通の基底インターフェースが要るからな。糞だな。
マルチメソッドだとこう書くだろうな。
int get_value( a_t *a ){}
int get_value( b_t *b ){}
*p //←a_tかb_tか実行時にしか決定できないポインタ
int result = get_value( p ); //マルチメソッドで型を吸収
基底クラスが要らないってのが良いね。
Cの構造体や基本型も多態の対象に出来るし、
何の関係も無い複数のライブラリ同士で、似たような機能の型が同じ基底クラスもってて纏めたい場合でも、
いちいちアダプタクラス作る必要も無いしね。
マルチメソッドのありがたい副産物だね。
ということで、単一ディスパッチする場合でも、多重ディスパッチのある言語の方が楽。
何でこうなるかって言うと、多重ディスパッチが出来るってことは、それだけ歪無いってことだから。
歪んでないから、それ以外の事するにしても、上手くいく。応用が利くんだね。
掃除しとけってこった。
■ このスレッドは過去ログ倉庫に格納されています