C#经典机试题(猫叫)
2010-06-10 16:23
204 查看
猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)
1.要有联动性,老鼠和主人的行为是被动的。
2.考虑可扩展性,猫的叫声可能引起其他联动效应。
1、运用接口:
代码
转自:http://kb.cnblogs.com/page/50471/
1.要有联动性,老鼠和主人的行为是被动的。
2.考虑可扩展性,猫的叫声可能引起其他联动效应。
1、运用接口:
代码
public delegate void SubEventHandler(); public abstract class Subject { public event SubEventHandler SubEvent; protected void FireAway() { if (this.SubEvent != null) this.SubEvent(); } } public class Cat : Subject { public void Cry() { Console.WriteLine("cat cryed."); this.FireAway(); } } public abstract class Observer { public Observer(Subject sub) { sub.SubEvent += new SubEventHandler(Response); } public abstract void Response(); } public class Mouse : Observer { private string name; public Mouse(string name, Subject sub) : base(sub) { this.name = name; } public override void Response() { Console.WriteLine(name + " attempt to escape!"); } } public class Master : Observer { public Master(Subject sub) : base(sub){ } public override void Response() { Console.WriteLine("host waken"); } } class Class1 { static void Main(string[] args) { Cat cat = new Cat(); Mouse mouse1 = new Mouse("mouse1", cat); Mouse mouse2 = new Mouse("mouse2", cat); Master master = new Master(cat); cat.Cry(); } }
转自:http://kb.cnblogs.com/page/50471/
相关文章推荐
- C#经典机试题(猫叫)
- C#经典机试题(更新中)
- C#.Net的常见面试试题2
- C#面试题 C#试题 No.1
- C#.Net的常见面试试题
- [转]C#面试试题
- 常见C#面试试题
- [C#]猫叫人醒老鼠跑 C#的委托及事件
- dotnet(C#)的试题,大家共享一下
- C#的基础试题
- C#经典试题
- C#[编程实例]-编程入门试题
- C#经典试题
- C#.Net的常见面试试题
- 有关C#语言数据类型的常见几个试题
- C#经典试题
- 2011New_C#中的代理与事件_猫叫人醒鼠跑
- C#.Net的常见面试试题(2)——基础知识
- 面试习题之设计模式 C#观察者模式(猫叫老鼠惊走主人醒)
- C#.Net的常见面试试题(3)