概要 Ver. 4.0 dynamic の用途の1つとして、多重ディスパッチというものを説明します。 ポイント 多重ディスパッチ(multiple dispatch): 複数のインスタンスの動的な型情報に基づいて、実際に呼び出すメソッドを切り替える (「仮想メソッド」の複数インスタンス版)。 dynamic を使うことで、ほんのちょっと多重ディスパッチの実装が楽に。 多重ディスパッチの話の前に、まずそもそもディスパッチ(dispatch)、訳すなら「配送」になるわけですが、 このディスパッチって何?って話から。 仮想メソッド呼び出しは、 オブジェクトに対してメッセージを送っているともみなせます。 例えば、下図のようなクラスを考えてみましょう。 仮想メソッド持ちのクラス 実装例を挙げると以下のような感じ。 interface Shape { double GetArea(); } class
![[雑記] 多重ディスパッチ](https://cdn-ak-scissors.b.st-hatena.com/image/square/4d1b2b57fc676d21e7f59f354364abeac0ea062e/height=288;version=1;width=512/https%3A%2F%2Fufcpp.net%2Fimages%2Flogo_4.jpg)