好吧,所以我一直在尋找一段時間試圖找到這個問題的一個問題,但它很難說,所以我在這裏問。C#繼承,添加新方法
我繼承一個類像
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,那又怎麼樣?我必須在C中聲明A的東西嗎?
我敢肯定,你可以。你確定你發佈了正確的代碼嗎? – 2013-05-08 15:15:01
您粘貼的代碼甚至不是接近有效的C#。目前還不清楚它想傳達什麼。請修復您的示例代碼。 – cdhowie 2013-05-08 15:15:26
修正了它,當我看到tigrans響應。在我的代碼中,我實際上並沒有使用這些特定的類名或方法名,我只是輸入了一些近似於我正在做的事情。 – Tim 2013-05-08 15:33:45