Hay dos formas posibles de expresar abstracción sobre tipos.¿Hay algún ejemplo de uso de tipo abstracto Scala que sea imposible de lograr con los genéricos?
abstract class Buffer {
type T
val element: T
}
rather than generic, p. Ej.
abstract class Buffer[T] {
val element: T
}
Entiendo los beneficios en usabilidad del uso de diferentes enfoques en diferentes contextos. Pero me interesan los ejemplos en los que es absolutamente imposible convertir la versión de Abstract Type a Generic.
Los fragmentos de código PS son bienvenidos.
¿Pero qué realmente no puedo hacer con los genéricos? 1. el ejemplo se puede convertir fácilmente en "rasgo M [TM]; rasgo P [TP] se extiende M [TP]". 2. Simplemente no compila, entonces nada para convertir ... – yura