C#對象為Null形式(Null Object Pattern)實例教程。本站提示廣大學習愛好者:(C#對象為Null形式(Null Object Pattern)實例教程)文章只能為提供參考,不一定能成為您想要的結果。以下是C#對象為Null形式(Null Object Pattern)實例教程正文
本文以實例情勢簡略講述了C#對象為Null形式(Null Object Pattern),分享給年夜家供年夜家參考。詳細完成辦法以下:
所謂的"對象為Null形式",就是請求開辟者斟酌對象為Null的情形,並設計出在這類情形下的應對辦法。
之前面"C#戰略形式(Strategy Pattern) "一文中的例子來講,在我們的客戶端法式中只斟酌了用戶輸出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#法式設計的進修有必定的自創價值。