using System;namespace _15CommandPattern{class Program{static void Main(string[] args){// 初始化Receiver、Invoke和CommandReceiver r = new Receiver();Command c = new ConcreteCommand(r);Invoke i = new Invoke(c);// 院领导发出命令i.ExecuteCommand();Console.WriteLine("Hello World!");}}// 教官,负责调用命令对象执行请求public class Invoke{public Command _command;public Invoke(Command command){this._command = command;}public void ExecuteCommand(){_command.Action();}}// 命令抽象类public abstract class Command{// 命令应该知道接收者是谁,所以有Receiver这个成员变量protected Receiver _receiver;public Command(Receiver receiver){this._receiver = receiver;}// 命令执行方法public abstract void Action();}//public class ConcreteCommand : Command{public ConcreteCommand(Receiver receiver): base(receiver){}public override void Action(){// 调用接收的方法,因为执行命令的是学生_receiver.Run1000Meters();}}// 命令接收者——学生public class Receiver{public void Run1000Meters(){Console.WriteLine("跑1000米");}}// 院领导}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。