`switch` ステートメントの削除 [closed] 質問する

`switch` ステートメントの削除 [closed] 質問する

switchコード内でステートメントの使用を排除する方法は何ですか?

ベストアンサー1

スイッチ文自体はアンチパターンではありませんが、オブジェクト指向でコーディングしている場合は、スイッチの使用が次のように解決されるかどうかを検討する必要があります。多態性switch ステートメントを使用する代わりに。

ポリモーフィズムを使用すると、次のようになります。

foreach (var animal in zoo) {
    switch (typeof(animal)) {
        case "dog":
            echo animal.bark();
            break;

        case "cat":
            echo animal.meow();
            break;
    }
}

こうなります:

foreach (var animal in zoo) {
    echo animal.speak();
}

おすすめ記事