C#接口定义实例浅析

MSDN上的C#接口定义所述,接口只包含方法、委托或事件的签名。这句话用更通俗点的解释便是,接口只是负责完成定义的操作,而不去实现具体的细节。如下面的IPlayer接口,它是一个玩游戏的接口,里面只是定义了相应的方法,而不带方法的具体实现

C#接口定义实例代码如下:

 
 
 
  1.  /**//// <summary>  
  2.  /// 玩游戏接口  
  3.  /// </summary>  
  4.  public interface IPlayer  
  5.  {  
  6.  /**//// <summary>  
  7.  /// 获取玩家的名字  
  8.  /// </summary>  
  9.  /// <returns>玩家的名字</returns>  
  10. string GetName();  
  11.  
  12. /**//// <summary>  
  13. /// 由Player决定出什么手势  
  14. /// </summary>  
  15. /// <returns>本接口定义的三个常量之一</returns>  
  16. string Show();  
  17. }  

以上就是一个典型的接口的定义。定义了一个名为IPlayer的接口,内部定义了两个方法GetName和Show。除了在接口里定义方法以外,我们还可以定义属性、索引及事件等,详细请查看MSDN上的定义或是相关书籍,这里以属性为例简单介绍下,在接口里只能定义不实现,具体的实现是交给其子类去完成的,那么属性应该怎么定义呢?

通常我们C#接口定义属性如下:

 
 
 
  1. /**//// <summary>  
  2. /// 定义_Name属性,并提供get;set属性访问器  
  3. /// </summary>  
  4. private string _Name;  
  5. public string Name  
  6. {  
  7. get { return _Name; }  
  8. set { _Name = value; }  
  9. }  

那么在接口中又是怎么定义属性,并让其子类去实现呢?如下代码段:

 
 
 
  1. /**//// <summary>  
  2. /// 定义接口,并在接口里定义一名为Name的属性  
  3. /// </summary>  
  4. public interface IAttribute  
  5. {  
  6.    string Name { get;set;}  
  7. }  
  8. /**//// <summary>  
  9. /// 定义一个类去继承IAttribute接口,并实现其属性  
  10. /// </summary>  
  11. public class Component : IAttribute  
  12. {  
  13. public string Name  
  14. {  
  15. get 
  16. {  
  17. return "张三";  
  18. }  
  19. set 
  20. {  
  21. this.Name = value;  
  22. }  
  23. }  

C#接口定义实例的相关内容就向你介绍到这里,希望对你了解和学习C#接口定义有所帮助。

【编辑推荐】

  1. 关于interface继承来源的讨论
  2. C# Fluent Interface概念实例浅析
  3. Interface接口学习总结浅析
  4. 实例解析C#接口的作用
  5. C# interface接口学习的一点体会
THE END