MSDN上的C#接口定义所述,接口只包含方法、委托或事件的签名。这句话用更通俗点的解释便是,接口只是负责完成定义的操作,而不去实现具体的细节。如下面的IPlayer接口,它是一个玩游戏的接口,里面只是定义了相应的方法,而不带方法的具体实现
C#接口定义实例代码如下:
- /**//// <summary>
- /// 玩游戏接口
- /// </summary>
- public interface IPlayer
- {
- /**//// <summary>
- /// 获取玩家的名字
- /// </summary>
- /// <returns>玩家的名字</returns>
- string GetName();
- /**//// <summary>
- /// 由Player决定出什么手势
- /// </summary>
- /// <returns>本接口定义的三个常量之一</returns>
- string Show();
- }
以上就是一个典型的接口的定义。定义了一个名为IPlayer的接口,内部定义了两个方法GetName和Show。除了在接口里定义方法以外,我们还可以定义属性、索引及事件等,详细请查看MSDN上的定义或是相关书籍,这里以属性为例简单介绍下,在接口里只能定义不实现,具体的实现是交给其子类去完成的,那么属性应该怎么定义呢?
通常我们C#接口定义属性如下:
- /**//// <summary>
- /// 定义_Name属性,并提供get;set属性访问器
- /// </summary>
- private string _Name;
- public string Name
- {
- get { return _Name; }
- set { _Name = value; }
- }
那么在接口中又是怎么定义属性,并让其子类去实现呢?如下代码段:
- /**//// <summary>
- /// 定义接口,并在接口里定义一名为Name的属性
- /// </summary>
- public interface IAttribute
- {
- string Name { get;set;}
- }
- /**//// <summary>
- /// 定义一个类去继承IAttribute接口,并实现其属性
- /// </summary>
- public class Component : IAttribute
- {
- public string Name
- {
- get
- {
- return "张三";
- }
- set
- {
- this.Name = value;
- }
- }
- }
C#接口定义实例的相关内容就向你介绍到这里,希望对你了解和学习C#接口定义有所帮助。
【编辑推荐】