A)要有联动性 老鼠与主人的行为是被动的
B)考虑扩展性,猫的叫声可能引起其他的联动效应
public delegate void SubEventHandler();
public abstract class Subject
{
public event SubEventHandler SubEvent;
protected void FireAway()
{
if (this.SubEvent != null)
this.SubEvent();
}
}
public class Cat : Subject
{
public void Cry()
{
Console.WriteLine( "cat cryed. ");
this.FireAway();
}
}
public abstract class Observer
{
public Observer(Subject sub)
{
sub.SubEvent += new SubEventHandler(Response);
}
public abstract void Response();
}
public class Mouse : Observer
{
private string name;
public Mouse(string name, Subject sub) : base(sub)
{
this.name = name;
} public override void Response()
{
Console.WriteLine(name + " attempt to escape! ");
}
}
public class Master : Observer
{
public Master(Subject sub) : base(sub){} public override void Response()
{
Console.WriteLine( "host waken ");
}
}
class Class1
{
static void Main(string[] args)
{
Cat cat = new Cat();
Mouse mouse1 = new Mouse( "mouse1 ", cat);
Mouse mouse2 = new Mouse( "mouse2 ", cat);
Master master = new Master(cat);
cat.Cry();
} }请问 public class Mouse : Observer
{
private string name;
public Mouse(string name, Subject sub) : base(sub)
{
this.name = name;
}和 public class Master : Observer
{
public Master(Subject sub) : base(sub){}
是什么意思??求解决大家不许笑
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货