访问基类A函数由c#中的派生类B对象实现

时间:2013-10-23 00:09:32

标签: c# oop

通过c#中的派生类B对象访问基类A函数  有没有办法可以访问A类By B类对象的函数(Sum)并获得输出10.?

Class A
{
    public int Sum(int i)
    {
        return i+3;
    }
}

Class B:A
{
     public int Sum(int i)
     {
          return i+4;
     }
}

B objectB=new B();

int result=objectB.Sum(7);

output:11

1 个答案:

答案 0 :(得分:8)

声明A变量而不是B,同时仍使用B的构造函数。

A objectB = new B();
int result=objectB.Sum(7);

这将使用A的方法。这是唯一的,因为该方法是阴影的,不会被覆盖。

您还会在Sum中收到针对您的方法B的编译器警告,并且您可能希望将其定义为public new int Sum(int i)以表示隐藏意图。