動的にクラスを選択する方法ありませんか?

条件1の場合:
c = Class1()
条件2の場合:
c = Class2()
:
条件Nの場合:
c = ClassN()

分岐が多く汎用的でない。