文章出處
文章列表
// 教官,負責調用命令對象執行請求 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米"); } } // 院領導 class Program { static void Main(string[] args) { // 初始化Receiver、Invoke和Command Receiver r = new Receiver(); Command c = new ConcreteCommand(r); Invoke i = new Invoke(c); // 院領導發出命令 i.ExecuteCommand(); } }
文章列表
全站熱搜