C#算法一道面试题:程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。
了解了题目之后让我们首先来看看C#算法程序的执行:
- 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();
- }
- }
C#算法一道面试题的程序实现就向你介绍到这里,希望通过一道面试题对你了解C#算法有所帮助。
【编辑推荐】