public ActionResult Delegate()
 {
     Firefighter joe = new Firefighter() { Name = "Joe"};
     //
     FireChief harry = new FireChief() { Name = "Harry", NumberOne = joe};
     FireChief tom = new FireChief() { Name = "Tom", NumberOne = harry};
     //
     return Content(harry.ExtinguishFire() + "<br>" +
                    tom.ExtinguishFire());
 }
 public ActionResult RollCall()
 {
     FireStation station = new FireStation();
     Firefighter joe = new Firefighter() { Name = "Joe" };
     FirefighterBase bill = new TraineeFirefighter() { Name = "Bill" };
     FireChief bigChiefHarry = new FireChief() { Name = "Harry" };
     Administrator arthur = new Administrator()
     {
         Title = "Mr",
         Forename = "Arthur",
         Surname = "Askey"
     };
     station.ClockIn(joe);
     station.ClockIn(bill);
     station.ClockIn(bigChiefHarry);
     station.ClockIn(arthur);
     //
     return Content(station.RollCall());
 }
        //
        // GET: /Chapter4/
        public ActionResult Index()
        {
            Firetruck truckOne = new Firetruck();
            //隊員
            Firefighter joe = new Firefighter() { Name = "Joe" };
            Firefighter frank = new Firefighter() { Name = "Frank" };
            //隊長,繼承Firefighter
            FireChief bigChiefHarry = new FireChief() { Name = "Harry"};
            //
            truckOne.Driver = bigChiefHarry;
            bigChiefHarry.Drive(truckOne, new Point(100, 300));
            bigChiefHarry.TellFirefighterToExtinguishFire(joe);
            //return Content(bigChiefHarry.ExtinguishFire());
            //
            //取代Base Class裡的ExtinguishFire方法
            FireChief harry = new FireChief() { Name = "Harry", NumberOne = joe };

            return Content(harry.ExtinguishFire());
        }