C# interface

时间:2022-08-05 04:15:43

我们学习了interface,即接口,其与抽象类有点像,但是他们也有一些区别,比如类不能多重继承但是接口却可以多重继承。

接口只包含方法、委托或事件和属性的签名(接口包含的成员)、不能包含字段(因为字段是包含数据的)。方法的实现是“继承”接口的类中完成的;接口可以包含的成员的访问修饰符只能且默认为public; 一个接口可以从一个或多个基接口继承; 接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员; 当基类型列表包含基类和接口时,基类必须是列表中的第一项; 实现接口的类可以显式实现该接口的成员,显示实现的成员不能通过类实例访问,而只能通过接口实例访问; 类和结构可以按照类继承基类或结构的类似方式继承接口;但注意: 类或结构可继承多个接口; 类或结构继承接口时,仅继承方法名称和签名,因为接口本身不包含实现; 接口和接口成员是抽象的(但不用写出abstract关键字);接口不提供默认实现;接口是一种规划(为你定义出一系列的规则和任务,但不去实现它)

下面给一个interface的例子:

interface 
SampInterface1 

    string  
    this[ int index]


        get; 
        set 
    }

event EventHandler Event; 
    void  Find( int value );

//注意此处没有 
    { 
    } 
    string Po 
    int


        get; 
        set 
    }

}

上面的接口定义了一个索引this,一个实践Event,一个方法Find和一个属性Point.

下面的代码也很好的说明了这一点。

public interface SampIneterface:SampIneterface1{  
pravite  int a=1;

void find (int value) 

a+=value; 
}

event EventHandler Event; 
protected void onEvent() 
{

if(Event=null) 
{return Event(this.System.EventAgrs.Empty;)} 
}

}