【发布时间】:2014-09-25 14:54:05
【问题描述】:
我有四个班级:
class Base
{
public void printf()
{
Console.WriteLine("I am from base !!!");
}
}
class DerivedA : Base
{
public void printf()
{
Console.WriteLine("I am from derived A !!!");
}
}
class DerivedB : Base
{
public void printf()
{
Console.WriteLine("I am from derived B !!!");
}
}
class testProgram
{
public void print(Base baseClass)
{
baseClass.printf();
}
}
我的目标是当我执行以下代码时,在第 4 行它必须给我编译错误。
testProgram tP = new testProgram();
tP.print(baseClass);
tP.print(derivedA);
tP.print(derivedB);
我需要做什么改变?
【问题讨论】:
-
它与第 3 行有什么区别?
-
不继承 Base。问题解决了。如果您需要更多帮助,请提供更多信息,但如果派生类无法替代您的基类,您似乎确实存在设计问题。
-
请包含编译器错误。 “它给了我一个错误”没有帮助。
-
@Gutblender 据我了解,代码没有给出错误,但他想要它。为什么?不知道。
-
啊,我的错。我看错了。
标签: c# inheritance