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#法式設計的進修有必定的自創價值。