zoukankan      html  css  js  c++  java
  • 观察者

        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();
    }
    }
  • 相关阅读:
    Bundle类
    AlertDialog
    认识Android
    TextView属性详解
    Android中设置文字大小的定义类型
    理解偏差
    python爬虫实验2
    python爬虫实验
    PHP sql注入漏洞修复(字符串型)
    java实现远程控制
  • 原文地址:https://www.cnblogs.com/smailxiaobai/p/2383486.html
Copyright © 2011-2022 走看看