Quiero utilizar un tipo abstracto en lugar de un parámetro de tipo.constructores de la clase Scala y tipos abstractos
en mis clases genéricas constructor, quiero tener un parámetro de tipo genérico, pero el código no se compila:
class SomeOtherClass(val s: S){
type S
}
es "no encontrado: Tipo S" El error del compilador Scala
Si utilizo un parámetro de tipo en lugar de un tipo abstracto, entonces funciona:
class SomeClass[T](val t: T){
//...
}
obliga Scala que yo use un parámetro de tipo en lugar de un tipo abstracto, si yo quiero tener una parámetro genérico en el constructor?
¿Hay alguna otra manera de hacerlo?
Bastante curioso, esto le permitirá crear instancias 'new SomeClass (5.asInstanceOf [SomeClass # S]) {type S = Int}'. Tenga en cuenta que no hay seguridad, S aún no está definido en el reparto. – Kaito
Entonces, básicamente, para hacerlo bien, ¿necesito ver las otras dos respuestas? –
@AntKutschera sí. – Nicolas