ここにc#コードがあります
class A {
public int Foo(){ return 5;}
public virtual int Bar(){return 5;}
}
class B : A{
public new int Foo() { return 1;} //shadow
public override int Bar() {return 1;} //override
}
の出力
Console.WriteLine(((A)clB).Foo()); // output 5 <<<--
Console.WriteLine(((A)clB).Bar()); // output 1
この出力を取得するにはどうすればよいですか。ここでクラスのキャストプロセスを説明できる人はいますか?
アップデート:
そして、これはシャドウイングとオーバーライドの違いをどのように示していますか