定义
C#中的接口和我们日常生活中使用的硬件接口的概念类似,日常生活中接口的形状决定了能插入这个接口的物体的形状,所以C#中接口决定了实现该接口的类或者结构在形式上保持一致!
声明的实例
interface IMyInterface
{
void Method();
}
这是一个接口的简单实例,下面有一些注意事项:
1.接口使用 interface 关键字声明,它的声明和类比较类似。
2.接口声明默认是 public 的,也必须是public的。
3.上述实例定义了IMyInterface接口,接口通常以I开头。
4.接口中不能含有字段和构造函数,可以含有属性和方法。如下:
interface IPeople
{
/*
int x; //不可以有字段
IPeople() //不可以有构造函数
{
}
*/
void Sex(); //可以有方法
string Name { get; set; }//可以有属性
}
应用
class My : IPeople
{
public string Name { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
public void Id()
{
//Code...
}
public void Sex()
{
//Code...
}
public void Sex(string ss)
{
//Code...
}
}
interface IPeople
{
void Id();
void Sex();
void Sex(string ss);
string Name { get; set; }
}
派生的接口
interface IA
{
void Method1();
}
interface IB:IA
{
void Method2();//同时会实现IA中的方法,所有IB有两个方法了
}
class Program:IB
{
public void Method1()
{
throw new NotImplementedException();
}
public void Method2()
{
throw new NotImplementedException();
}
}
派生的接口和抽象方法类似,都是必须要实现的。
欢迎评价和指正,谢谢!