模板方法模式(Template Method)c#簡單例子

來源:互聯網
上載者:User

標籤:blog   ar   sp   for   on   資料   2014   art   log   

模板方法模式(Template Method)c#簡單例子

要點:骨架、步驟延遲到子類

例子建立玩家骨架部分,具體動作由延遲到子類去做

namespace adapterpattern{    public partial class TemplateMethodForm : Form    {        public TemplateMethodForm()        {            InitializeComponent();        }        private void btndisplay_Click(object sender, EventArgs e)        {            Play p1 = new play1();            p1.Run();            listBox1.Items.Add(BaseData.DisplayString);            Play p2 = new play2();            BaseData.DisplayString = "";            p2.Run();            listBox1.Items.Add(BaseData.DisplayString);        }    }    public static class BaseData//資料中轉站    {        public static string DisplayString { get; set; }        public static int EnemyNumber { get; set; }    }    public abstract class Play//模板    {        //骨架        protected abstract void start();        protected abstract void move();        protected abstract void stop();        public void Run()        {            start();//延遲到子類            move();            stop();        }    }    public class play1 : Play//實現模板方法1    {        protected override void start()        {            BaseData.DisplayString += "玩家1開始運行....";        }        protected override void move()        {            BaseData.DisplayString += "移動.......";        }        protected override void stop()        {            BaseData.DisplayString += "停止運行.....";        }    }    public class play2 : Play//實現模板方法1    {        protected override void start()        {            BaseData.DisplayString += "玩家2開始運行....";        }        protected override void move()        {            BaseData.DisplayString += "移動.......";        }        protected override void stop()        {            BaseData.DisplayString += "停止運行.....";        }    }}





模板方法模式(Template Method)c#簡單例子

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.