次のような典型的な階層があるとしましょう。
私が望むのは、すべてのクラスに特定の move() 実装を持たせることです。したがって、次のコードがある場合:
List<Vehicle> vehicles = GetVehicles();
foreach (Vehicle v in vehicles)
{
v.move();
}
実行時の v のクラスに応じて、対応する move() 実装に対して呼び出しを行う必要があります。
私は virtual と override を試しましたが、 RedCar インスタンスで move() を呼び出すと、 Car.move() にジャンプします (これは Vehicle の下の次のオーバーライドであるためだと思います)
どのように行うことができますか?