保持快乐,善于表达,敢于创新

c#接口的使用(一)

上一篇 / 下一篇  2008-05-28 19:01:49 / 个人分类:c#

范例一:

接口继承

using System;
interface iA
{
    void F();
}
interface iB:iA
{
    new void F();
}
interface iC:iA
{
    void G();
}
interface iBC:iB,iC
{

}
class CL:iBC
{
    public void F()
    {
    Console.WriteLine("iB.F() method");
    }
    public void G()
    {
   
    }
}
class Test
{
    static void Main()
    {
        CL a=new CL();  //CL类的实例a;
        a.F();         //类CL的方法;
        ((iA)a).F();   //接口iA的方法, 此接口iA的方法已经被iB的new void F()隐藏.所以只是iB的方法.
        ((iB)a).F();   //iB的接口方法.
        ((iC)a).F();   //iC的接口, 因为iC没有F()的方法,故导向iC的父接口iA, 虽然iC继承于iA, 但由于iA方法F()被iB的方法F()隐藏并取代. 所以调用的iA方法,其实就是iB();
        ((iBC)a).F();  //iBC接口没有方法F(),故他会向父接口iB接口中方法.
    }
}


 

TAG:

 

评分:0

我来说两句

Open Toolbar