求大神帮忙解答代码疑问!

ilzxn199256 2016-07-18 07:09:34
//猫大叫一声 所有的老鼠开始逃跑 主人被惊醒
//要有联动性 老鼠和主人的行为是被动的 考虑可扩展性 猫的叫声可能引起其他的联动效应
namespace _2016._07._18._08
{
public interface Observer
{
void Response();//观察者的反应 如是老鼠见到猫的反应
}

public interface Subject
{
void AimAt(Observer obs);!!!!!!!!第一处疑问 这里的(Observer obs) 是什么意思
}
//以上是两个接口

public class Mouse:Observer
{
private string name;
public Mouse(string name,Subject subj)!!!!!!1这里的Subject subj 是什么意思
{
this.name = name;
subj.AimAt(this);
}

public void Response()
{
Console.WriteLine(name + "attempt ready to escape!");
}
}

public class Master:Observer
{
public Master(Subject subj)
{
subj.AimAt(this);
}
public void Response()
{
Console.WriteLine("Host waken!");
}


}

public class Cat : Subject
{
private ArrayList observers;
public Cat()
{
this.observers = new ArrayList();
}
public void AimAt(Observer obs)
{
this.observers.Add(obs);
}
public void Cry()
{
Console.WriteLine("Cat Caryed!");
foreach(Observer obs in this.observers)
{
obs.Response();
}
}
}
class Program
{
static void Main(string[] args)
{
Cat cat = new Cat();
Mouse mouse1 = new Mouse("mouse1", cat);
Mouse mouse2 = new Mouse("mouse 2", cat);
Master master = new Master(cat);
cat.Cry();
Console.ReadKey();
//逃跑啥玩意啊 就是猫显示叫了 然后显示老鼠的名字 老鼠逃跑 主人醒了。

}
}


}
...全文
114 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Justin-Liu 2016-07-19
  • 打赏
  • 举报
回复
观察者模式
  • 打赏
  • 举报
回复
为方法声明参数。 这个是编程基础知识,方法需要声明参数。不然如何定义参数?

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧