委托与事件-观察者设计模式_老鹰捉小鸡

老鹰类

Glede.class

class Glede
    {
        private string name;
        private string color;
        public Glede(string name,string color)
        {
            this.name = name;
            this.color = color;
        }
        //老鹰来了,老鹰的状态发生改变
        public void GledeComing()
        {
            Console.WriteLine(color+"的"+name+"来了");
            if(gledeCome!=null)
                gledeCome();
        }
        public Action gledeCome;

    }

小鸡类

Chick.class

class Chick
    {
        private string name;
        private string color;
        public Chick(string name,string color,Glede glede)
        {
            this.name = name;
            this.color = color;
            glede.gledeCome += this.Runaway;
        }
        public void Runaway()
        {
            Console.WriteLine(color+"的"+name+"小鸡跑了");
        }

    }

Program.cs

static void Main(string[] args)
        {
            Glede glede = new Glede("鲲鹏", "灰色");
            Chick chick = new Chick ("小鸡1号", "黄色",glede);
            //glede.gledeCome += chick.Runaway;//通过委托注册
            Chick chick1 = new Chick("小鸡2号", "绿色", glede);
            //glede.gledeCome += chick1.Runaway;
           Chick chick2 = new Chick("小鸡3号", "红色", glede);
            //glede.gledeCome += chick2.Runaway;
            glede.GledeComing();

            Console.ReadKey();

        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值