首页 > 代码库 > 接口(C# 参考)
接口(C# 参考)
接口只包含方法、属性、事件或索引器的签名。 实现接口的类或结构必须实现接口定义中指定的接口成员。 在下面的示例,类 ImplementationClass必须实现一个不具有参数并返回 void 的名为 SampleMethod 的方法。
示例
1 interface ISampleInterface 2 { 3 void SampleMethod(); 4 } 5 6 class ImplementationClass : ISampleInterface 7 { 8 // Explicit interface member implementation: 9 void ISampleInterface.SampleMethod()10 {11 // Method implementation.12 }13 14 static void Main()15 {16 // Declare an interface instance.17 ISampleInterface obj = new ImplementationClass();18 19 // Call the member.20 obj.SampleMethod();21 }22 }
接口可以是命名空间或类的成员,并且可以包含下列成员的签名:
方法
属性
索引器
事件
一个接口可从一个或多个基接口继承。
当基类型列表包含基类和接口时,基类必须是列表中的第一项。
实现接口的类可以显式实现该接口的成员。 显式实现的成员不能通过类实例访问,而只能通过接口实例访问。
示例
下面的示例演示了接口实现。 在此示例中,接口包含属性声明,类包含实现。 实现 IPoint 的类的任何实例都具有整数属性 x 和 y。
1 interface IPoint 2 { 3 // Property signatures: 4 int x 5 { 6 get; 7 set; 8 } 9 10 int y11 {12 get;13 set;14 }15 }16 17 class Point : IPoint18 {19 // Fields:20 private int _x;21 private int _y;22 23 // Constructor:24 public Point(int x, int y)25 {26 _x = x;27 _y = y;28 }29 30 // Property implementation:31 public int x32 {33 get34 {35 return _x;36 }37 38 set39 {40 _x = value;41 }42 }43 44 public int y45 {46 get47 {48 return _y;49 }50 set51 {52 _y = value;53 }54 }55 }56 57 class MainClass58 {59 static void PrintPoint(IPoint p)60 {61 Console.WriteLine("x={0}, y={1}", p.x, p.y);62 }63 64 static void Main()65 {66 Point p = new Point(2, 3);67 Console.Write("My Point: ");68 PrintPoint(p);69 }70 }71 // Output: My Point: x=2, y=3
接口(C# 参考)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。