Есть ли способ в scala создать общий экземпляр без пример экземпляра?

Я играл с созданием универсальной фабрики следующим образом:

trait Factory[T] { def createInstance():T = new T() }
val dateFactory = new Factory[Date](){}
val myDate = dateFactory.createInstance()

' new T () 'не компилируется, поскольку T не определено до времени выполнения. Я знаю, что могу заставить его работать, передавая экземпляр класса какому-либо методу (т. Е. CreateInstance (classOf [Date]))

Я спрашиваю, существует ли какая-то магия самоанализа, которая могла бы заменить 'new T ( ) 'чтобы я мог создать свою супер простую фабрику?

5
задан Fred Haslam 20 August 2010 в 19:27
поделиться