接口具有一下特征。
1,接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员。
2,部门直接实例化接口。
3, 接口可以包含事件、索引器、方法和属性。
4,接口不包含方法的实现。
5,类和结构可以从多个接口继承。
7,接口自身可以从多个接口继承。
一下我们先定义一个接口:
interface ImyInterface
{
string ID //编号:可读可写
{
get; set;
}
string Name //姓名:可读可写
{
get; set;
}
void ShowInfo(); //函数,显示定义的编号和姓名
}
接口的实现通过类继承来实现,一个类虽然只能继承一个基类,但是可以继承任意接口。声明实现接口的类时,需要在基类列表中包含所实现的接口的名称。
下面进行接口的继承:
class Program:ImyInterface //继承自接口
{
string id = "";
string name = "";
public string ID //编号
{
get
{
return id;
}
set
{
id = value;
}
}
public string Name //姓名
{
get
{
return name;
}
set
{
name = value;
}
}
public void ShowInfo() //显示定义的编号以及姓名
{
Console.WriteLine("编号\t 姓名");
Console.WriteLine(ID + "\t" + Name);
}
static void Main(string[] args)
{
Program program = new Program(); //实例化Program类对象
ImyInterface imyInterface = program; //使用派生类对象实例化接口ImyInterface
imyInterface.ID = "01"; //为派生类中的ID属性赋值
imyInterface.Name = "接口的实现与继承"; //为派生类中的Name属性赋值
imyInterface.ShowInfo(); //调用派生类的方法显示定义的属性值
}
}
上面的例子只继承了一个接口,接口可以多重继承,使用多重继承时,要继承的接口之间用逗号(,)分隔。