欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#對象為Null模式(Null Object Pattern)實例教程

 更新時間:2014年09月12日 14:55:22   投稿:shichen2014  
這篇文章主要介紹了C#對象為Null模式(Null Object Pattern),以一個簡單實例深入分析了C#為Null情況下的處理方法,需要的朋友可以參考下

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

所謂的"對象為Null模式",就是要求開發(fā)者考慮對象為Null的情況,并設(shè)計出在這種情況下的應(yīng)對方法。

以前面"C#策略模式(Strategy Pattern) "一文中的例子來說,在我們的客戶端程序中只考慮了用戶輸入1,2,3的情況,如果用戶輸入其它數(shù)字,比如4,就沒有一個對應(yīng)的IBall接口實現(xiàn)類實例產(chǎn)生,于是會報如下的錯:

為了應(yīng)對這種情況,我們專門設(shè)計一個類,當(dāng)用戶輸入1,2,3以上的數(shù)字,就產(chǎn)生該類的實例。該類同樣實現(xiàn)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部分,當(dāng)用戶輸入1,2,3以外的數(shù)字,就創(chuàng)建一個同樣實現(xiàn)IBall接口、專門處理Null的類實例。      

相信本文所述實例對大家C#程序設(shè)計的學(xué)習(xí)有一定的借鑒價值。

相關(guān)文章

  • c#文件的I/O基本操作

    c#文件的I/O基本操作

    System.IO命名空間包含允許在數(shù)據(jù)流和文件上進行同步,異步及寫入的類型,下面是關(guān)于c#文件的I/O基本操作講解,需要的朋友可以參考下
    2014-03-03
  • c#數(shù)據(jù)綁定之linq使用示例

    c#數(shù)據(jù)綁定之linq使用示例

    本實例以MS AdventureWorks2008Entities數(shù)據(jù)庫為基礎(chǔ),演示了LINQ TO ENTITY、LINQ TO ENTITYSQL和LINQ TO ENTITYCLIENT。
    2014-04-04
  • C#中volatile與lock用法

    C#中volatile與lock用法

    這篇文章主要介紹了C#中volatile與lock用法,較為詳細的分析了C#中volatile與lock的適用情況及用法實例,具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-10-10
  • C#實現(xiàn)裝箱與拆箱操作簡單實例

    C#實現(xiàn)裝箱與拆箱操作簡單實例

    這篇文章主要介紹了C#實現(xiàn)裝箱與拆箱操作,對于新手理解裝箱與拆箱有一定的幫助,需要的朋友可以參考下
    2014-07-07
  • C# CheckedListBox控件的用法總結(jié)

    C# CheckedListBox控件的用法總結(jié)

    本篇文章主要介紹了C# CheckedListBox控件的用法總結(jié),想要學(xué)習(xí)CheckedListBox的同學(xué)可以了解一下。
    2016-12-12
  • C#生成隨機驗證碼代碼分享

    C#生成隨機驗證碼代碼分享

    這篇文章主要分享了C#生成隨機驗證碼代碼,另外附上使用示例,非常的簡單實用,有需要的朋友可以參考下
    2014-10-10
  • C#如何給PDF文件添加水印

    C#如何給PDF文件添加水印

    這篇文章主要為大家詳細介紹了C#如何給PDF文件添加水印的相關(guān)資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Unity ScrollView實現(xiàn)無限循環(huán)效果

    Unity ScrollView實現(xiàn)無限循環(huán)效果

    這篇文章主要為大家詳細介紹了Unity ScrollView實現(xiàn)無限循環(huán)效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C#中如何獲取當(dāng)前目錄和上級目錄

    C#中如何獲取當(dāng)前目錄和上級目錄

    這篇文章主要介紹了C#中如何獲取當(dāng)前目錄和上級目錄問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • C#折線圖控件使用方法詳解

    C#折線圖控件使用方法詳解

    這篇文章主要為大家詳細介紹了C#折線圖控件的使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02

最新評論