本文以一个简单的实例来说明C#策略模式的实现方法,分享给大家供大家参考。具体实现方法如下:
一般来说,当一个动作有多种实现方法,在实际使用时,需要根据不同情况选择某个方法执行动作,就可以考虑使用策略模式。
把动作抽象成接口,比如把玩球抽象成接口。代码如下:
有可能是玩足球、篮球、排球等,把这些球类抽象成实现接口的类。分别如下:
还有一个类专门用来选择哪种球类,并执行接口方法:
客户端需要让用户作出选择,根据不同的选择实例化具体类:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | 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 ; } man.SetHobby(ball); man.StartPlay(); } } } |
程序运行结果如下图所示:
希望本文所述对大家的C#程序设计有所帮助。
联系客服