- 23 名前:デフォルトの名無しさん mailto:sage [2009/08/28(金) 21:04:04 ]
- たとえば、客に料理を出してもてなすクラスを考える
class Host { public delegate Meal MakeMealDelegate(); public MakeMealDelegate MakeMeal; void Serve(Guest guest)//客をもてなす { Meal meal = MakeMeal(); //料理を作る。 Cater(guest, meal); //料理を客に出す。 } } ここで、3つの料理法があったとする。 Meal MakeItalian(){.......} Meal MakeFrench(){......} Meal MakeJapanese(){......} すると、 Host host = new Host(); host.MakeMeal = MakeFrench; //フランス料理でもてなす。 //host.MakeMeal = MakeItalian;//イタリア料理でもてなす。 //host.MakeMeal = MakeIJapanese;//日本料理でもてなす。 host.Serve(guest); というように、delegateを使うと、どの料理方法を使って料理を 作るかをHostに対して指定できるようになる。
|

|