私は2つのクラスを持っています
class A
{
public virtual void Metod1()
{
Console.WriteLine("A.Method1");
}
}
class B : A
{
public new void Metod1()
{
Console.WriteLine("B.Method1");
}
}
次に、これらのクラスのインスタンスを宣言し、それらのメソッドを呼び出すコードをいくつか書きます。
static void Main(string[] args)
{
A a = new B();
a.Metod1();
B b = new B();
b.Metod1();
Console.ReadKey();
}
私は次の結果を与えました:
A.Method1
B.Method1
しかし、クラス B の署名 method1 からキーワード new を削除して Main メソッドを実行すると、同じ結果が得られました。質問:メソッドの署名に new キーワードを使用するのは、読みやすさのためだけですか?
編集:新しいキーワードがないとできない場合はありますか?