好的,所以我一直在寻找一段时间,试图找到这个问题的答案,但很难说清楚,所以我在这里问。
我继承了一个类
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.
}
所以即使我不打算在 AI 类中使用该方法,仍然必须声明虚拟?所以如果我继承类 C : B 那么呢?我必须在 A 中为 C 声明东西吗?