
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace ConsoleApplication1
- {
- abstract class FBIAgent
- {
- public abstract void SendMessage(string m);
- public void ReadMessage(string m)
- {
- Console.WriteLine(m);
- }
- }
- class AgentInRussia : FBIAgent
- {
- private FBICenter center;
- public AgentInRussia(FBICenter f)
- {
- center = f;
- }
- public override void SendMessage(string m)
- {
- center.Send(this,m);
- }
- }
- class AgentInEngland : FBIAgent
- {
- private FBICenter center;
- public override void SendMessage(string m)
- {
- center.Send(this, m);
- }
- public AgentInEngland(FBICenter f)
- {
- center = f;
- }
- }
- abstract class FBICenter
- {
- public abstract void Send(FBIAgent f,string m);
- }
- class RealFBICenter : FBICenter
- {
- private FBIAgent agentinrussia;
- private FBIAgent agentinengland;
- public FBIAgent russia
- {
- set
- {
- agentinrussia = value;
- }
- }
- public FBIAgent england
- {
- set
- {
- agentinengland = value;
- }
- }
- public override void Send(FBIAgent f, string m)
- {
- if (f==agentinengland)
- {
- agentinrussia.ReadMessage(m);
- }
- else
- {
- agentinengland.ReadMessage(m);
- }
- }
- }
- class Client
- {
- public static void Main()
- {
- RealFBICenter fc = new RealFBICenter();
- AgentInEngland eng = new AgentInEngland(fc);
- AgentInRussia rus = new AgentInRussia(fc);
- fc.england = eng;
- fc.russia = rus;
- eng.SendMessage("我在英国搞情报,hia~hia~");
- rus.SendMessage("我在俄罗斯搞情报,xia~ixa~");
- Console.Read();
- }
- }
- }
本文介绍了一个模拟 FBI 情报传递系统的软件设计案例,通过抽象类和继承实现不同地区间的情报发送与接收功能。系统包含位于俄罗斯和英格兰的两名特工,以及中央情报指挥中心。

被折叠的 条评论
为什么被折叠?



