读书人

多重接口有关问题

发布时间: 2011-12-15 23:41:24 作者: rapoo

多重接口问题
namespace ConsoleApplication2
{
interface Imy1
{
void disp1();
void disp2();
}

interface Imy2
{
void disp2();
}

class Program : Imy1,Imy2
{
public void disp1()
{
Console.WriteLine( "1 ");
}
public void disp2()
{
Console.WriteLine( "2 ");
}

static void Main(string[] args)
{
Program p = new Program();
p.disp1();
p.disp2();
}
}
}

类Program的disp2实现了那个接口?

[解决办法]
两个接口都是实现了的.
测试如下:
static void Main(string[] args)
{
Program p = new Program();
p.disp1();
p.disp2();

System.Console.WriteLine(p is Imy1);
System.Console.WriteLine(p is Imy2);
}
分别输出:
1
2
true
true
[解决办法]
接口只是一个声明,告诉系统你是怎么看待这个对象的。
[解决办法]
2个同时实现.
说白了接口只是限制你必须要有一个实现函数,在编译期间会帮你检查关系.但是真正使用实例的时候,只关心实例对象所拥有的方法,并不关心这个方法是从那里来的.

读书人网 >C#

热点推荐