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接口实现类实例产生,于是会报如下的错:
为了应对这种情况,我们专门设计一个类,当用户输入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#程序设计的学习有一定的借鉴价值。