明らかにコンストラクターにパラメーターを持たない型パラメーターを受け取り、そのコンストラクターで構築されたダミー オブジェクトを返すメソッドを作成したいと考えています。基本的にある種の工場パターン。
- それはScalaでも可能ですか?
- それは良い考えですか?そうでない場合、より良いパターンはありますか?
- コンパイル時のみ (つまり、リフレクションなし) にこれを達成する方法はありますか?
コード例:
trait Model
class A extends Model
class B extends Model
def dummy[T <: Model] = new T // Fails compilation with "class type required but T found"
dummy[A] // Returns an instance of A
dummy[B] // Returns an instance of B