加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Mouse.cs 1.77 KB
一键复制 编辑 原始数据 按行查看 历史
宋立昌 提交于 2022-04-08 04:05 . 增加程序
using System;
namespace DelegateEvent
{
/**//// <summary>
/// 此类为观察者模式中的具体观察者(即具体发布方),其继承于观察者基类.
/// 其中覆盖了观察者基类规划好的方法,实现了响应的具体行为.
/// </summary>
public class Mouse : Observer
{
/**//// <summary>
/// 观察者可以拥有自己的成员(字段或者方法).
/// 在此事例中增加了"老鼠的名字"
/// </summary>
private string name;
/**//// <summary>
/// 构造时确定观察者所需要观察的对象(具体目标),并传递给观察者基类构造器,
/// 实现响应行为(方法)的订阅.另外,为观察者实例初始化成员.
/// </summary>
/// <param name="name">老鼠的名字</param>
/// <param name="childModel">
///需要观察的对象(发布方).
///此处用模型基类来传递,是为了兼容所有派生于此模型的观察者,从而提高扩展性.
/// </param>
public Mouse(string name, ModelBase childModel) : base(childModel)
{
//初始化字段(老鼠的名字)
this.name = name;
}
/**//// <summary>
/// 覆盖了该类观察者需要作出的具体响应行为.
/// 此行为已在观察者基类中注册于委托事件,由委托事件调度执行,不需要直接调用.
/// </summary>
public override void Response()
{
//具体响应内容
System.Console.WriteLine(this.name + "开始逃跑");
}
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化