通过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
答案 0 :(得分:8)
声明A
变量而不是B
,同时仍使用B
的构造函数。
A objectB = new B();
int result=objectB.Sum(7);
这将使用A
的方法。这是唯一的,因为该方法是阴影的,不会被覆盖。
您还会在Sum
中收到针对您的方法B
的编译器警告,并且您可能希望将其定义为public new int Sum(int i)
以表示隐藏意图。