软件编程
位置:首页>> 软件编程>> C#编程>> C#对象为Null模式(Null Object Pattern)实例教程

C#对象为Null模式(Null Object Pattern)实例教程

作者:shichen2014  发布时间:2023-07-27 15:53:28 

标签:C#,对象,Null,模式

本文以实例形式简单讲述了C#对象为Null模式(Null Object Pattern),分享给大家供大家参考。具体实现方法如下:

所谓的"对象为Null模式",就是要求开发者考虑对象为Null的情况,并设计出在这种情况下的应对方法。

以前面"C#策略模式(Strategy Pattern) "一文中的例子来说,在我们的客户端程序中只考虑了用户输入1,2,3的情况,如果用户输入其它数字,比如4,就没有一个对应的IBall接口实现类实例产生,于是会报如下的错:

C#对象为Null模式(Null Object Pattern)实例教程

为了应对这种情况,我们专门设计一个类,当用户输入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#对象为Null模式(Null Object Pattern)实例教程

相信本文所述实例对大家C#程序设计的学习有一定的借鉴价值。

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com