观察者

    public delegate void CatCall();
public class Cat : subject
{
public void cry()
{
Console.WriteLine("猫叫了~");
this.fireAway();
}
}
public class subject
{
public event CatCall myEnvet;
protected void fireAway()
{
if (this.myEnvet != null)
{
this.myEnvet();
}
}
}
public abstract class Observer
{
public Observer(subject sub)
{
sub.myEnvet += new CatCall(Response);
}
public abstract void Response();
}
public class Mouse : Observer
{
private string MouseName;
public Mouse(subject sub, string name)
: base(sub)
{
this.MouseName = name;
}
public override void Response()
{
Console.WriteLine(MouseName + "快跑,喵星人来了!");
}
}
public class H : Observer
{
public H(subject sub)
: base(sub)
{

}
public override void Response()
{
Console.WriteLine("老鼠把我吵醒了!");
}
}
public class dos
{
static void Main()
{
Cat cat = new Cat();
Mouse mouse1 = new Mouse(cat, "Tom");
Mouse mouse2 = new Mouse(cat, "jack");
H h = new H(cat);
cat.cry();
Console.ReadKey();
}
}

转载于:https://www.cnblogs.com/smailxiaobai/archive/2012/03/07/2383486.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值