ホーム < ゲームつくろー! < デザインパターン習得編 Double Dispatch ~抽象オブジェクトがお互いを知れる!~ 例えば3種類のキャラクタ(A,B,C)がいたとします。AはBに合うとBを食べようとし、BはAから逃げようとします。BはCに合うと笑い、CはBに合うと怒ります。CはAに合うと踊り、AはCに拍手を送ります。また同じ種族に合うと挨拶をするとします。いわゆるライフゲームですね。この3種類のキャラクタを世界に撒いてしばらく見ていると、どこかでお互いに出会う機会がやってきます。出会った時に各キャラクタは「Actionメソッド」でそれぞれの振る舞いをするとします。 Aのアクションは「挨拶をする、食べようとする、踊る」です。これら具体的な行動をActionメソッド内で呼び出したいわけです。しかし、世界に撒かれているキャラクタは多分「Characterクラス」という抽象クラスでし