-7

わかりましたので、この質問に対する答えを見つけようとしてしばらく探していましたが、言い回しが難しいので、ここで質問しています。

私は次のようなクラスを継承しています

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 を継承している場合は、どうすればよいでしょうか? CのAで何かを宣言する必要がありますか?

4

4 に答える 4