以文本方式查看主题 - 计算机科学论坛 (http://bbs.xml.org.cn/index.asp) -- 『 Dot NET,C#,ASP,VB 』 (http://bbs.xml.org.cn/list.asp?boardid=43) ---- C#接口详解 (http://bbs.xml.org.cn/dispbbs.asp?boardid=43&rootid=&id=75970) |
-- 作者:卷积内核 -- 发布时间:7/10/2009 4:25:00 PM -- C#接口详解 接口(C# 参考) 接口只包含方法、委托或事件的签名。方法的实现是在实现接口的类中完成的,如下面的示例所示: 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(); } } --------------------------------------------------------------------------------------------------------- 备注: 接口可以是命名空间或类的成员,并且可以包含下列成员的签名: ·方法 ·属性 ·索引器 ·事件 一个接口可从一个或多个基接口继承。 当基类型列表包含基类和接口时,基类必须是列表中的第一项。 实现接口的类可以显式实现该接口的成员。显式实现的成员不能通过类实例访问,而只能通过接口实例访问。 |
-- 作者:卷积内核 -- 发布时间:7/10/2009 4:26:00 PM -- --------------------------------------------------------------------------------------------------------- 示例: 下面的示例演示了接口实现。在此例中,接口 IPoint 包含属性声明,后者负责设置和获取字段的值。Point 类包含属性实现。 // keyword_interface_2.cs // Interface implementation using System; 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); } } 输出 My Point: x=2, y=3 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
47.119ms |