本文以实例形式简单讲述了C#对象为Null模式(Null Object Pattern),分享给大家供大家参考。具体实现方法如下:
所谓的”对象为Null模式”,就是要求开发者考虑对象为Null的情况,并设计出在这种情况下的应对方法。
以前面”
“一文中的例子来说,在我们的客户端程序中只考虑了用户输入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#程序设计的学习有一定的借鉴价值。
除声明外,跑步客文章均为原创,转载请以链接形式标明本文地址
C#对象为Null模式(Null Object Pattern)实例教程
本文地址: http://www.paobuke.com/develop/c-develop/pbk23518.html
相关内容
C# SendMail发送邮件功能实现
C#实现谷歌翻译API示例代码
详解StackExchange.Redis通用封装类分享
WPF拖动DataGrid滚动条时内容混乱的解决方法
浅析C#中StringBuilder类的高效及与String的对比
C# ComboBox的联动操作(三层架构)
C#操作ftp类完整实例
C#判断一天、一年已经过了百分之多少的方法
时间: 2024-10-08 01:00:39