接口也是C#实现多态的一种方式。接口用interface声明,接口的名字首字母为大写的I
接口声明:
interface Ijiekou
{int Fun();
}
//接口使用
class A:Ijiekou
{
public int Fun()
{
return 4;
}
}
class B:Ijiekou
{
public int Fun()
{
return 5;
}
}
static void Main(string[] args)
{
A a1 = new A();
B b1 = new B();
Ijiekou l = (Ijiekou)a1;
Console.WriteLine(l.Fun());
l = b1;
Console.WriteLine(l.Fun());
}
对于多个接口使用同一个函数名,在类名字里面需要加 接口名字.函数名字,这种情况下需要去掉public。并且这种函数不能通过类对象的引用去调用。只能通过接口。
多个接口尽量不要使用相同的名字。
interface Ijiekou
{
int Fun();
}
interface Ijiekou2
{
int Fun();
}
class A:Ijiekou,Ijiekou2
{
int Ijiekou.Fun()
{
return 4;
}
int Ijiekou2.Fun()
{
return 44;
}
}
static void Main(string[] args)
{
A a1 = new A();
Ijiekou l = (Ijiekou)a1;
Console.WriteLine(l.Fun());
Ijiekou2 l2 = a1;
Console.WriteLine(l2.Fun());
}