委托经典面试题

逻辑关系:猫叫一声老鼠就会跑,人会醒
(1)要考虑连动性
(2)要考虑扩展性

using System;

namespace Cat
{
    class Cat
    {
        public delegate void Done();
        public event Done Miao;
        public void Shout()
        {
            Console.WriteLine("猫叫了~");
            Miao();
        }
    }
    class Mouse
    {
        public void Run()
        {
            Console.WriteLine("老鼠跑了~");
        }
    }
    class Person
    {
        public void WakeUp()
        {
            Console.WriteLine("主人醒了");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Cat Tom = new Cat();
            Mouse Jerry = new Mouse();
            Person Kivon=new Person();

            Tom.Miao+=new Cat.Done(Jerry.Run);
            Tom.Miao+=new Cat.Done(Kivon.WakeUp);
            Tom.Shout();
        }
    }
}

 

11

posted on 2010-01-16 01:15  anlantan  阅读(424)  评论(0编辑  收藏  举报

导航