C#接口的实现实例浅析

开发 后端
C#接口的实现是如何的呢?具体的操作又是什么样子?让我们从一个实例出发向你介绍C#接口的实现,希望对你有所帮助。

C#接口的实现是如何的呢?尽管接口只负责定义,不负责实现,具体的实现是交给他的子类去完成的。 OK,现在我们实例的演示中来看看具体的C#接口的实现。

就拿我的趣味编程中的玩剪刀石头布的案例来说吧,爷爷和奶奶从小就教授小孙子各中东西,其中玩趣味游戏就他们常有的事,可小孙子还小不知道变换,每次都出剪刀,这样能赢他爷爷吗?有了这个分析,我们可以怎么做呢?上面定义了接口,我们是不是直接去实现这个接口便OK了。爷爷和小孙子玩游戏,那么就定义两个类去继承IPlayer接口。代码如下:

  1. /**////   
  2. /// 出手动作状态  
  3. /// 
  4.  
  5. public class Options  
  6. {  
  7. public static readonly string JIANDAO = "剪刀";  
  8. public static readonly string SHITOU = "石头";  
  9. public static readonly string BU = "布";  

游戏里只会出现这三种动作状态,所以我们可以进行封装,这里是通过类封装的,当然我们也可以通过别的相关技术来封装,比如在本系列第二篇文章《C#编程利器之二:结构与枚举(Structure and enumeration)》 里介绍的结构与枚举,本例中所出现的这三中不变的状态完全可以使用结构或枚举来封装,详细请阅读上篇文章。下面是定义爷爷(Grandpa)类和孙子(Grandson)类去实现接口(IPlayer)了。代码如下:

  1.  /**////   
  2.  /// 爷爷--玩家之一  
  3.  /// 
  4.  
  5.  public class Grandpa:IPlayer  
  6.  {  
  7. public string GetName()  
  8. {  
  9. return "爷爷";  
  10. }  
  11.  
  12. public string Show()  
  13. {  
  14.    Random random = new Random();  
  15.   int i = (int)(random.Next() * 1000) % 3;  
  16.    switch (i)  
  17.    {  
  18.   case 0: return Options.JIANDAO;  
  19.   case 1: return Options.SHITOU;  
  20.   defaultreturn Options.BU;  
  21.    }  
  22. }  
  23. }  
  24.    
  25.  
  26.  /**////   
  27.  /// 孙子--玩家之一  
  28.  /// 
  29.  
  30.  public class Grandson:IPlayer  
  31.  {  
  32. public string GetName()  
  33. {  
  34. return "孙子";  
  35. }  
  36.  
  37. public string Show()  
  38. {  
  39.    return Options.JIANDAO;  
  40. }  
  41. }  

如上,我们的GrandPa和GrandSon就实现了接口IPlayer,如下图示:

实现了接口IPlayer 

C#接口的实现实例的介绍就向你讲述到这里,希望对你了解和学习C#接口的实现有所帮助。

【编辑推荐】

  1. C# Fluent Interface概念实例浅析
  2. Interface接口学习总结浅析
  3. 实例解析C#接口的作用
  4. C# interface接口学习的一点体会
  5. C#接口定义实例浅析
责任编辑:仲衡 来源: 博客园
相关推荐

2009-08-14 09:50:46

C#复制构造函数

2009-08-27 17:59:56

C#接口定义

2009-08-31 12:31:45

C#创建文件夹

2009-09-01 18:29:24

C#实现多个接口

2009-08-31 16:48:02

C#实现IDispos

2009-08-27 13:05:06

C#接口特点C#接口实例

2009-08-31 16:37:20

C#接口定义

2009-09-04 17:20:23

C# DES加密解密

2009-09-03 17:23:45

C#发送邮件

2009-09-01 16:59:25

C#画直线

2009-08-17 14:41:47

C#进度条实现

2009-09-01 13:59:01

C#操作Excel

2009-09-09 12:55:59

C# TextBox事

2009-08-31 17:16:12

C#实现接口

2009-08-27 13:30:11

C# interfac

2009-09-03 10:52:41

C#递归树

2009-09-03 17:06:17

C#回车切换焦点

2009-09-02 16:14:21

C#动态创建数组

2009-07-22 11:27:36

iBATIS模糊查询

2009-08-27 14:29:28

显式实现接口
点赞
收藏

51CTO技术栈公众号