【发布时间】:2013-05-02 21:28:54
【问题描述】:
好的,所以我已经搜索了一段时间,试图找到这个问题的答案,但很难说清楚,所以我在这里问。
我正在继承一个类
Class A (int a, int b, int c)
public A(int a, int b, int c)
{
}
Class B : A
public B(int a, int b, int c) base: (a, b, c)
public void blah(int something)
{
}
为什么我不能这样做然后再做:
B classb = new B(1,2,3);
classb.blah(4);
我必须这样做
public virtual void blah(int something)
{
}
在A类,然后在B类:
public override void blah(int something)
{
//method to be used in B but not A.
}
所以即使我不打算在 A 类中使用该方法,我仍然必须声明虚拟?所以如果我继承类 C : B 那么呢?我必须在 A 中为 C 声明东西?
【问题讨论】:
-
我很确定你可以。您确定您发布的代码正确吗?
-
您粘贴的代码甚至不接近有效的 C#。根本不清楚它试图传达什么。请修复您的示例代码。
-
当我看到 tigrans 的响应时修复了它。在我的代码中,我实际上并没有使用这些特定的类名或方法名,我只是输入了一些近似于我正在做的事情。
标签: c# inheritance virtual