python画猫和老鼠_观察者模式(猫与老鼠的故事!)
在论坛经常看到 观察者模式,主要以猫、老鼠、主人作为例子:
我个人理解如下:
代码如下:
namespace Test
{
///
/// 定义一个委托
///
public delegate void MeDelegate();
///
/// 定义一个服务端抽象类
///
abstract class Master
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
///
/// 定义事件
///
public event MeDelegate eve;
public void Notifly()
{
if (eve != null)
{
eve();
}
}
public abstract void 叫();
}
///
/// 定义一个猫类,继承于Master抽象类
///
class Cat : Master
{
public override void 叫()
{
Console.WriteLine("小花猫喵喵叫!");
}
}
///
/// 定义一个客户端抽象类
///
abstract class Client
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
public abstract void 响应();
}
///
/// 老鼠继承与客户端抽象类
///
class Mouse : Client
{
public override void 响应()
{
Console.WriteLine("小老鼠逃跑");
}
}
///
/// 人继承客户端抽象类
///
class Person : Client
{
public override void 响应()
{
Console.WriteLine("主人醒来!");
}
}
class Program
{
static void Main(string[] args)
{
Cat c = new Cat();
Mouse m = new Mouse();
Person p = new Person();
//注册时间
c.eve+=new MeDelegate(m.响应);
c.eve+=new MeDelegate(p.响应);
c.叫();
//触发事件
c.Notifly();
}
}
}
通过这个例子可以深刻的理解:事件是类发生被管住的事情时用来提供通知的一种方式!!!!!
python画猫和老鼠_观察者模式(猫与老鼠的故事!)相关推荐
- python画猫和老鼠_利用python如何实现猫捉老鼠小游戏
python实现猫捉老鼠小游戏 首界面 开始游戏界面 然后键盘操作小老鼠上下左右移动,猫自己去追,当猫追上老鼠则游戏结束 这里用时3.2秒,最后将游戏时长与猫和老鼠都显示在主页面上 下面我把猫与老鼠的 ...
- 用python画猫和老鼠_利用python如何实现猫捉老鼠小游戏
python实现猫捉老鼠小游戏 首界面 开始游戏界面 然后键盘操作小老鼠上下左右移动,猫自己去追,当猫追上老鼠则游戏结束 这里用时3.2秒,最后将游戏时长与猫和老鼠都显示在主页面上 下面我把猫与老鼠的 ...
- 用python画熊猫_当熊猫不够用熊猫
用python画熊猫 Python短裤 (Python Shorts) Pandas is one of the best data manipulation libraries in recent ...
- python 画云图_【词云图】如何用python的第三方库jieba和wordcloud画词云图
一直想学一下如何用python画词云图,觉得很好玩,本文就写一下我自己的一些尝试. 1.提前准备 一般准备以下四样就可以啦. 第一,电脑安装python,我装的是3.6. 第二,安装第三方库jieba ...
- 怎么用python画花瓣_怎么用python画花朵
怎么用python画花朵?下面给大家讲解一下具体步骤: 第一步,打开菜单栏,输入idle,打开shell. 第二步,新建一个文件,并命名. 第三步,导入turtle模块,创建一个新窗口用于绘图,再创建 ...
- 知道经纬度用python画路线图_神级程序员教你用Python如何画一个中国地图!(好好玩)...
为什么是Python 先来聊聊为什么做数据分析一定要用 Python 或 R 语言.编程语言这么多种, Java , PHP 都很成熟,但是为什么在最近热火的数据分析领域,很多人选择用 Python ...
- 用python画风车_用Python画小女孩放风筝的示例
我就废话不多说了,直接上代码吧! # coding:utf-8 2import turtle as t 3import random 4# 画心 5def xin(): 6 def curvemove ...
- 用python画熊猫_熊猫read_excel()–用Python读取Excel文件
用python画熊猫 We can use the pandas module read_excel() function to read the excel file data into a Dat ...
- 如何用python画椭圆_怎么用python画椭圆?
使用python画椭圆的方法: 首先使用两行代码引入Matplotlib扩展包:import matplotlib.pyplot as plt from matplotlib.patches impo ...
最新文章
- PLM与MDM的集成
- maven package和install
- 我国手机浏览器用户达2.15亿
- 五、Go语言复合数据类型(下)
- springboot 跨域配置cors
- MySql—锁机制原理
- 网管交换机和非网管交换机有什么区别?
- [css] 说说position的absolute和fixed共同与不同点分别是什么?
- 画布上涂鸦功能(可橡皮擦、可清除)
- 外贸业务员会计算机知识,外贸业务员、电子商务
- oracle上机题库_Oracle OCP认证考试IZ0-053题库共712题数据库(带中文解析)
- 第19节 扫描技术——基于Windows系统的工具
- 未来IT互联网企业的发展前景
- 消费者人群画像-信用智能评分(风控模型竞赛经典案例)
- Oracle数据库查询语句去重,Oracle数据库之SQL---select查询
- 华为核心交换机HW_S7706添加静态路由
- vue-生成随机颜色
- 正态分布在数据分析中的应用
- 利用单片机串口实现甲乙两机的数据传输
- 关于印发医疗卫生机构网络安全管理办法的通知
热门文章
- ajax ashx session 为空,jquery ajax post 方式ashx文件取不到值。
- Android 旋转木马轮播,jQuery旋转木马式幻灯片轮播特效
- JAVA面试速记,面试速记之computed与watch的区别
- 玩转 SpringBoot2.x 之自定义配置类整合Druid(Mybatis版)
- centos7 yum安装mysql5_Centos7 yum安装mysql5.7
- 基于JAVA+SpringMVC+Mybatis+MYSQL的校园二手自行车交易系统
- Go程序的一生是怎样的?
- 微信小程序加载本地图片方法
- Introduction to Mathematical Thinking - Week 4
- CocoaPods安装以及遇到的坑