C#策略模式(Strategy Pattern)執行個體教程

來源:互聯網
上載者:User

標籤:switch   ack   inpu   輸入輸出   使用   返回   write   修改   margin   

本文以一個簡單的執行個體來說明C#策略模式的實現方法,分享給大家供大家參考。具體實現方法如下:

一般來說,當一個動作有多種實現方法,在實際使用時,需要根據不同情況選擇某個方法執行動作,就可以考慮使用原則模式。

把動作抽象成介面,比如把玩球抽象成介面。代碼如下:

public interface IBall{    void Play();}

有可能是玩足球、籃球、排球等,把這些球類抽象成實現介面的類。分別如下:

public class Football : IBall{    public void Play()    {      Console.WriteLine("我喜歡足球");    }}public class Basketball : IBall{    public void Play()    {      Console.WriteLine("我喜歡籃球");    }}public class Volleyball : IBall{    public void Play()    {      Console.WriteLine("我喜歡排球");    }}

還有一個類專門用來選擇哪種球類,並執行介面方法:

public class SportsMan{    private IBall ball;    public void SetHobby(IBall myBall)    {      ball = myBall;    }    public void StartPlay()    {      ball.Play();    }}

用戶端需要讓使用者作出選擇,根據不同的選擇執行個體化具體類:

class Program{    static void Main(string[] args)    {      IBall ball = null;      SportsMan man = new SportsMan();      while (true)      {        Console.WriteLine("選擇你喜歡的球類項目(1=足球, 2=籃球,3=排球)");        string input = Console.ReadLine();        switch (input)        {          case "1":            ball = new Football();            break;          case "2":            ball = new Basketball();            break;          case "3":            ball = new Volleyball();            break;        }        man.SetHobby(ball);        man.StartPlay();      }    }}

程式運行結果如所示:

希望本文所述對大家的C#程式設計有所協助。

除聲明外, 跑步客文章均為原創,轉載請以連結形式標明本文地址
  C#策略模式(Strategy Pattern)執行個體教程

本文地址:  http://www.paobuke.com/develop/c-develop/pbk23519.html






相關內容C#設定自訂檔案表徵圖實現雙擊啟動(修改註冊表)C#調用預存程序詳解(帶傳回值、參數輸入輸出等)12306奇葩驗證碼引發思考之C#實現驗證碼程式C#自訂控制項添加右鍵菜單的方法
C#讀取Excel並轉化成XML的方法C#實現Json轉Unicode的方法C#實現洗牌遊戲執行個體C#中把英文字母轉換為大寫或小寫方法

C#策略模式(Strategy Pattern)執行個體教程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.