欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-16 22:59:22
本文以实例形式简单讲述了c#对象为null模式(null object pattern),分享给大家供大家参考。具体实现方法如下: 所谓的"对象为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#程序设计的学习有一定的借鉴价值。

上一篇:

下一篇: