ダブルディスパッチ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/04/07 10:04 UTC 版)
ダブルディスパッチ(英: double dispatch)は、多重ディスパッチのひとつの形態で、2個のオブジェクトから、それに対応する実際の手続きが実行時に決まる、というものである。近年のオブジェクト指向プログラミング言語でよく見られる obj.methodName(arg, ...) というような構文では、obj に対応する1個のオブジェクトから、実行されるメソッドが決定される「シングルディスパッチ」であるわけだが、それに対して複数個のオブジェクトが関与して、多重定義されたメソッドなどから、実行される一つが決定されるのが多重ディスパッチで、多重ディスパッチに関与するオブジェクトを2個に限定したものがダブルディスパッチである。また、シングルディスパッチの言語における複数のクラス間で同様のことを実現するイディオムを指して言う場合もある。[1]
- ^ http://www.infoq.com/jp/articles/DoubleDispatch_0829
- ^ 現在のcrubyには複素数クラスも組込みで存在するので、それが気になるなら四元数クラスなどなんでもよい。
- 1 ダブルディスパッチとは
- 2 ダブルディスパッチの概要
- 3 関連項目
- ダブルディスパッチのページへのリンク