• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#对象为Null模式(Null Object Pattern)实例教程

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

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了null object pattern,null object,object id null,object is null,null object模式等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文以实例形式简单讲述了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("您选择的球类项目目前还不存在~~");
    }
}

</div>

在客户端程序中,修改为:

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();
      }
    }
}

</div>

以上,在swich语句中的default部分,当用户输入1,2,3以外的数字,就创建一个同样实现IBall接口、专门处理Null的类实例。      

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

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

相关文章

  • 2017-05-28C#实现的三种模拟自动登录和提交POST信息的方法
  • 2017-05-28C#设计模式之单例模式实例讲解
  • 2017-05-28Silverlight将图片转换为byte的实现代码
  • 2017-05-28c#根据网址抓取网页截屏生成图片的示例
  • 2017-05-28C#利用Random得随机数求均值、方差、正态分布的方法
  • 2017-05-28C#利用正则判断输入是否为纯数字、容器类
  • 2017-05-28C# 操作符之三元操作符浅析
  • 2017-05-28C#启动进程的几种常用方法
  • 2017-05-28c#重写TabControl控件实现关闭按钮的方法
  • 2017-05-28C#使用RenderControl将GridView控件导出到EXCEL的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#通过委托调用Button单击事件的方法
    • C#中数组、ArrayList、List、Dictionary的用法与区别浅析(存取数据)
    • C#使用Process类调用外部exe程序
    • C#中HttpWebRequest的用法详解
    • C#常用字符串加密解密方法封装代码
    • C#使用自定义算法对数组进行反转操作的方法
    • C#.NET字符串比较中忽略符号的方法
    • C#隐藏主窗口的方法小结
    • C#实现xml文件的读取与写入简单实例
    • C#中变量、常量、枚举、预处理器指令知多少

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有