接口(C# 参考)

以下参考 :http://msdn.microsoft.com/zh-cn/library/87d83y5b.aspx
接口(C# 参考)

 

更新:2007 年 11 月

接口只包含方法属性事件索引器的签名。成员的实现是在实现接口的类或结构中完成的,如下面的示例所示:

示例

interface ISampleInterface
{
    void SampleMethod();
}

class ImplementationClass : ISampleInterface
{
    // Explicit interface member implementation:
    void ISampleInterface.SampleMethod() { // Method implementation.
    }

    static void Main()
    {
        // Declare an interface instance.
        ISampleInterface obj = new ImplementationClass();

        // Call the member.
        obj.SampleMethod();
    }
}


接口可以是命名空间或类的成员,并且可以包含下列成员的签名:

一个接口可从一个或多个基接口继承。

当基类型列表包含基类和接口时,基类必须是列表中的第一项。

实现接口的类可以显式实现该接口的成员。显式实现的成员不能通过类实例访问,而只能通过接口实例访问。

有关显式接口实现的更多详细信息和代码示例,请参见显式接口实现(C# 编程指南)

下面的示例演示了接口实现。在此示例中,接口包含属性声明,类包含实现。

interface IPoint
{
   // Property signatures:
   int x
   {
      get;
      set;
   }

   int y
   {
      get;
      set;
   }
}

class Point : IPoint
{
   // Fields:
   private int _x;
   private int _y;

   // Constructor:
   public Point( int x, int y)
   {
      _x = x;
      _y = y;
   }

   // Property implementation:
   public int x
   {
      get
      {
         return _x;
      }

      set
      {
        _x = value;
      }
    } 
      public int y
     {
       get
       {
         return _y;
       }

       set
       {
         _y = value;
       }
     }
}

class MainClass
{
   static void PrintPoint(IPoint p)
   {
      Console.WriteLine( "x={0}, y={1}", p.x, p.y);
   }

   static void Main()
   {
      Point p = new Point(2, 3);
      Console.Write( "My Point: ");
      PrintPoint(p);
   }
}
// Output: My Point: x=2, y=3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值