一、接口概述:
接口定义一种协议,实现该接口的类或结构必须遵循该协议。一个接口可以继承于一个或多个其他接口,一个类或结构也可以实现一个或多个接口。接口可以包含4中成员:方法、属性、事件和索引器。接口本身不提供它所定义的成员的实现,它仅仅指定实现该接口的类或结构必须提供的成员。
1、接口声明:需要使用interface关键字;
Public interface IA
{
...
}
2、接口修饰符:一般位于接口声明中的interface关键字之前,共包括5个修饰符:new、public、protected、internal和private。其中,public、protected、internal和private修饰符控制接口的可访问性。
Public:表示该接口是公开的,访问不受限制。
Protected:表示该接口只能是本身或其派生的接口访问。
Internal:表示该接口只能是在当前应用程序中访问。
Private:表示该接口只能是本身访问。
new修饰符:仅允许在类中定义的接口中使用,它指定接口隐藏同名的继承成员。
eg:
public class A
{
public interface IA {}; //声明IA接口
}
public class B:A
{
new publicinterface IA {}; //声明IA接口,并使用new修饰符隐藏了A.IA接口
}
分析:B.IA表示B类中声明的IA接口。
3、接口继承
接口可以继承与一个或者多个其他接口,也可以不继承。被继承的接口称为该接口的显示基接口。当一个接口具有一个或者多个显示基接口时,在声明该接口时,接口标示符后就要紧跟一个冒号和一个有逗号分隔的基接口标示符列表。
eg:
public interface IA //声明IA接口
{
}
public interface IB //声明IA接口
{
}
public interface IC:IA,IB //声明IC接口,它继承于IA和IB接口
{
}
注意:接口不能从自身直接或者间接继承,否则会发生编译时错误。
二、接口成员
接口成员必须是方法、属性、事件或者索引器,而不能包括常量、字段、运算符、实例构造函数、析构函数或类型,也不能包含任何种类的静态成员。一个接口可以不包括任何成员,也可以包括一个或多个成员。接口成员默认隐式地具有public访问属性,而且在声明接口成员时不能包含任何修饰符&#