特征:
1、接口是一种规范,实现多态
2、接口不能被实例化。
3、接口中的成员不能加“访问修饰符”,接口中的成员访问修饰符默认为public
4、接口中的成员不能有任何实现,所以不能够被实例化
5、接口中只有方法、属性、索引器、事件,不能够有“字段”。
6、接口与接口之间可以继承,并且可以多继承。
7、实现接口的自雷必须实现该接口的全部成员。所以接口要遵循接口隔离原则,降低功能之间的耦合度。
8、一个类可以同时继承多个接口,如果一个类继承接口的同时,也继承了类,则先继承类,再写集成的接口。
9、当一个抽象类实现接口的时候,如果不想实现接口的成员,可以把该成员实现为abstract.
10、显示实现接口,只能用接口变量来调用,因为(显示接口后成员会变成private);
---------------------
//定义程序员接口
interface
IProgramer
{
//定义程序接口函数
string
LanguageCode();
}
//C/C++程序员实现
class
CProgramer : IProgramer
{
string
CLanguageCode()
{
return
"C/C++"
;
}
}
//VB程序员实现
class
VBProgramer : IProgramer
{
string
VBLanguageCode()
{
return
"VB"
;
}
}
//Delphi程序员实现
class
DelphiPrograme : IProgramer
{
string
DelphiLanguageCode()
{
return
"Delphi"
;
//用Delphi语言写代码;
}
}
class
Programer
{
public
void
LanguageCode(IProgramer programer)
{
//此次调用LanguageCode函数,有可能是VB,也有可能是C++
programer.LanguageCode();
}
}
public
class
main
{
public
main()
{
Programer pro =
new
Programer();
IProgramer iprogramer;
//如果需要用C/C++代码
iprogramer =
new
CProgramer();
pro.LanguageCode(iprogramer);
//如果需要用VB代码
iprogramer =
new
CProgramer();
pro.LanguageCode(iprogramer);
//如果需要用Delphi代码
iprogramer =
new
CProgramer();
pro.LanguageCode(iprogramer);
}
}