標籤: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)執行個體教程