所谓的”东西为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的类实例。