源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2021-09-06 03:31 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#对象为Null模式(Null Object Pattern)实例教程
本文以实例形式简单讲述了C#对象为Null模式(Null Object Pattern),分享给大家供大家参考。具体实现方法如下: 所谓的"对象为Null模式",就是要求开发者考虑对象为Null的情况,并设计出在这种情况下的应对方法。 以前面"[url=http://www.1sucai.cn/article/55100.htm]C#策略模式(Strategy Pattern)[/url] "一文中的例子来说,在我们的客户端程序中只考虑了用户输入1,2,3的情况,如果用户输入其它数字,比如4,就没有一个对应的IBall接口实现类实例产生,于是会报如下的错: [img]http://files.jb51.net/file_images/article/201409/2014912145027791.png?2014812145138[/img] 为了应对这种情况,我们专门设计一个类,当用户输入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的类实例。       [img]http://files.jb51.net/file_images/article/201409/2014912145037968.png?2014812145128[/img] 相信本文所述实例对大家C#程序设计的学习有一定的借鉴价值。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部