americandog1993の日記

プログラマー歴半年のメモ

If分岐を多態性で簡潔に

条件分岐で中身が冗長になったら多態性を使ってまとめてみる。
分岐のそれぞれの処理がある程度共通化できることが前提。
なんとなくJavaで。

exampleSuperClass esc;
if isThing == true {
  exampleSuperClass = new exampleClassA();
} else {
  exampleSuperClass = new exampleClassB();
}
exampleSuperClass.doAnything;

すっきり見やすい。
処理が増えたらメソッドを増やせばいい。
なかなか可読性・メンテ性・拡張性に優れた手法に思える。