我们学习的知识不是跳跃,而是一种综合!昨天的JavaScript和今天的逻辑训练并不冲突!在技术上我们要讲求熟 还要灵活 和探知的深度!就简单的把今天的收获写一点吧,如果你在百度上搜 会发现有关于(猫叫了——老鼠跑了——人醒了)这样的考题,那是一个关于 “观察者模式”的考题。
我们在没有接触观察者模式的前提下 思考了足足 三四个小时 来用那种思想解决我们的问题。新的要求是:你们虽然不严谨但已经具备了去思考和专研的能力了!
所以在这种要求下 再用 委托和事件 把这个题从新解决。这是对知识的巩固,和对我们今天一种放松!
把我的结果放在我的田地上 就当是种下的一个小小幼苗!
public delegate void handler(string cry);//定义一个委托
class cat
{
public event handler catevent;//定义一个事件
public cat() { }
public void cry(string cry)
{
Console.WriteLine("cat is crying");
}
public void test()
{
catevent += new handler(new cat().cry);//订阅事件
catevent += new handler(new mouse().run);//事件的连动
catevent += new handler(new host().wake);
catevent("cry");//触发事件
}
}
class mouse
{
public void run(string cry)
{
Console.WriteLine("mouse is running");
}
}
class host
{
public void wake(string cry)
{
Console.WriteLine(" person waken");
}
}
放松之余在我的空间记录下我的收获,我和它共成长!!
我们在没有接触观察者模式的前提下 思考了足足 三四个小时 来用那种思想解决我们的问题。新的要求是:你们虽然不严谨但已经具备了去思考和专研的能力了!
所以在这种要求下 再用 委托和事件 把这个题从新解决。这是对知识的巩固,和对我们今天一种放松!
把我的结果放在我的田地上 就当是种下的一个小小幼苗!
public delegate void handler(string cry);//定义一个委托
class cat
{
public event handler catevent;//定义一个事件
public cat() { }
public void cry(string cry)
{
Console.WriteLine("cat is crying");
}
public void test()
{
catevent += new handler(new cat().cry);//订阅事件
catevent += new handler(new mouse().run);//事件的连动
catevent += new handler(new host().wake);
catevent("cry");//触发事件
}
}
class mouse
{
public void run(string cry)
{
Console.WriteLine("mouse is running");
}
}
class host
{
public void wake(string cry)
{
Console.WriteLine(" person waken");
}
}
放松之余在我的空间记录下我的收获,我和它共成长!!
浙公网安备 33010602011771号