接口就是一组抽象成员的命名集合。
1.接口成员不能指定访问修饰符,所有接口成员都是隐式公共的和抽象的。
2.接口以大写“I”作为前缀
3.接口中可以有属性、方法、事件、索引器
可通过as来获取接口引用
A a = new A();
IA iA = a as IA;
if(iA != null)
{
}
else
{
}
可以用is来检查是否实现一个接口
A a = new A();
if(a is IA)
{
//实现
}
else
{
//未实现
}
接口的显示实现和隐式实现:
public interface IEatA
{
void Eat();
}
public interface IEatB
{
void Eat();
}
public interface IEatC
{
void Eat();
}
public class A : IEatA,IEatB,IEatC
{
public void Eat()
{
//隐式实现
}
}
//利用显示接口实现来处理成员命名冲突
public class A : IEatA,IEatB,IEatC
{
//不允许访问修饰符
void IEatA.Eat()
{
}
void IEatB.Eat()
{
}
void IEatC.Eat()
{
}
}
//显示接口方法访问
A a = new A();
IEatA ia = (IEatA)a;
ia.Eat();