老鹰类
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();
}