C#面向对象试题一道,猫大叫,老鼠逃跑,主人惊醒。
程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)
要求:1.要有联动性,老鼠和主人的行为是被动的。
2.考虑可扩展性,猫的叫声可能引起其他联动效应。
答:方法一:
public interface Observer
{
void Response(); //观察者的响应,如是老鼠见到猫的反映
}
public interface Subject
{
void AimAt(Observer obs); //针对哪些观察者,这里指猫的要扑捉的对象---老鼠
}
public class Mouse : Observer
{
private string name;
public Mouse(string name, Subject subj)
{
this.name = name;
subj.AimAt(this);
}
public void Response()
{
Console.WriteLine(name + " attempt to escape!");
}
}
public class Master : Observer
C#面向对象试题一道,猫大叫,老鼠逃跑,主人惊醒。相关推荐
- 事件模拟场景:猫叫-老鼠逃跑 主人惊醒
这是一个典型的观察者模式的应用场景,事件的发源在于猫叫这个动作,在猫叫之后,老鼠开始逃跑,而主人则会从睡梦中惊醒.可以发现,主人和老鼠这两个类型的动作相互之间没有联系,但都是由猫叫这一事件触发的. 设 ...
- Java猫叫老鼠跑人惊醒_面试题:猫叫、老鼠跑、人醒的一点看法
这些天一直在面试中,做着不同的面试题,唉,悲催 上周做的一道面试题今天正好出现在园里的首页,看了一下这位同学的实现,基本上方向是对的,就是代码上细节没有注意,有一些错误,这里我就写一下我的理解 --- ...
- Java猫叫老鼠跑人惊醒_关于猫叫、老鼠逃跑、人被惊醒的程序设计
题目是这样的:猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒. 要求: 1.要有联动性,老鼠和人的行为是被动的 2.考虑可扩展行,猫叫声可能会引起其他联动效应 看到这个程序设计题目,我的第一反应是用事件 ...
- 关于猫叫、老鼠逃跑、人被惊醒的程序设计
题目是这样的:猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒. 要求: 1.要有联动性,老鼠和人的行为是被动的 2.考虑可扩展行,猫叫声可能会引起其他联动效应 看到这个程序设计题目,我的第一反应是用事件 ...
- 猫叫,老鼠逃跑,主人惊醒--答案
要点:1. 联动效果,运行代码只要执行Cat.Cryed()方法.2. 对老鼠和主人进行抽象 评分标准: <1> .构造出Cat.Mouse.Master三个类,并能使程序 ...
- Java猫叫老鼠跑人惊醒_用代码表示如下情景:猫叫、老鼠逃跑、主人惊醒
### 1. 定义猫类型,并且该类型负责维护猫叫事件 *Cat.cs* ```csharp using System; namespace CatCry { /// /// 猫类型,维护猫叫事件 // ...
- 一道面试题:猫大叫了一声...
今天在博客园上看到一道面试题,是关于委托和事件的,为了重温事件的应用,自己又做了一遍. 题目: 程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒.(C#语言) 要求: 1.要有联动性,老鼠 ...
- 一道事件委托面试题 - 猫叫老鼠跑主人醒
/* 道事件委托面试题 - 猫叫老鼠跑主人醒 */using System;namespace CatCry {class MainClass{static void Main(string[] ar ...
- 转---猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒 [观察者模式]
程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒.(C#语言) 要求: 1.要有联动性,老鼠和主人的行为是被动的. 2.考虑可扩展性,猫的叫声可能引起其他联动效应. 要点:1. 联动效果, ...
最新文章
- keras bi-lstm_LSTM用于文本生成的应用介绍-使用Keras和启用GPU的Kaggle Kernels
- 我来告诉你【Redis】入门 一
- PHPCMS中GET标签概述
- 关于 Boost.PropertyTree
- kafka topic 一段时间不消费_全网最通俗易懂的 Kafka 入门
- MongoDB集群安装与配置2.4.3版本
- 中国民生银行大数据团队的Flume实践
- 企业API接口设计之token、timestamp、sign具体实现
- 【python】Mac在Pycharm中导入python3.6(简单易行)
- MyBatis文档观后整理
- 百加得改变生产方式,协助生产洗手液
- c语言链表中next作用,C语言链表详解
- 《Chrysanthemums Terrace》《菊花台》
- 如何在 LaTeX 中输入角度、角分、角秒?
- 阿里p7 p8的要求看看你会了多少
- Excel中如何对多个sheet进行同样的操作
- 读jQuery 权威指南[5]-插件
- linux c字符串用0补位,Linux中10个你不知道的命令补齐技巧
- 有时候,感慨的人生~
- QList(增删改查)示例