C#對象為Null模式(Null Object Pattern)執行個體教程

來源:互聯網
上載者:User

標籤:title   class   項目   pre   封裝   inter   end   medium   ogr   

本文以執行個體形式簡單講述了C#對象為Null模式(Null Object Pattern),分享給大家供大家參考。具體實現方法如下:


所謂的”對象為Null模式”,就是要求開發人員考慮對象為Null的情況,並設計出在這種情況下的應對方法。

以前面”

“一文中的例子來說,在我們的用戶端程式中只考慮了使用者輸入1,2,3的情況,如果使用者輸入其它數字,比如4,就沒有一個對應的IBall介面實作類別執行個體產生,於是會報如下的錯:

為了應對這種情況,我們專門設計一個類,當使用者輸入1,2,3以上的數字,就產生該類的執行個體。該類同樣實現IBall介面。

public class Others : IBall{    public void Play()    {      Console.WriteLine("您選擇的球類項目目前還不存在~~");    }}

在用戶端程式中,修改為:

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;          default:            ball = new Others();            break;        }        man.SetHobby(ball);        man.StartPlay();      }    }}

以上,在swich語句中的default部分,當使用者輸入1,2,3以外的數字,就建立一個同樣實現IBall介面、專門處理Null的類執行個體。

相信本文所述執行個體對大家C#程式設計的學習有一定的借鑒價值。

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

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






相關內容C# SendMail發送郵件功能實現C#實現Google翻譯API範例程式碼詳解StackExchange.Redis通用封裝類分享WPF拖動DataGrid捲軸時內容混亂的解決方案
淺析C#中StringBuilder類的高效及與String的對比C# ComboBox的聯動操作(三層架構)C#操作ftp類完整執行個體C#判斷一天、一年已經過了百分之多少的方法

C#對象為Null模式(Null Object 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.