继承相同的方法实现

时间:2014-02-24 12:19:45

标签: c# oop interface

我有以下代码。 (在c#中) 界面1:

public interface iBclass
{
   int addition(int a);

   int s(); //and more methods from this ......


}

界面2:

 public interface iAclass
 {
    int addition(int a);
    //more methods.....
 }

继承两个接口的类:

public class dClass : iAclass , iBclass
{

    int iAclass.addition(int a)
    {
        return 0;
    }

   int iBclass.addition(int a)
    {
        return 1;
    }


   public int s()
   {
       return 3;
   }
}

问题是我无法使用d对象访问方法iAclass.addition(int a)iBclass.addition(int a)

  dClass d = new dClass();

如何通过'd'对象访问这些方法?以及为什么那些接口方法不允许定义为公共?

1 个答案:

答案 0 :(得分:3)

接口是明确实现的。因此,您只能使用界面调用它们:

dClass d = new dClass();
iAclass a = (iAclass)d;
a.addition(123);  // Calls implementation for iAclass
iBclass b = (iBclass)d;
b.addition(123);  // Calls implementation for iBclass

有关详细信息,请参阅此link