Supongo que "tipo anotaciones de varianza" (+
y -
) no se puede aplicar a "tipo miembros". Con el fin de explicar a mí mismo que yo consideraba la siguiente exampleEscriba Members and Covariance
abstract class Box {type T; val element: T}
Ahora bien, si quiero crear la clase StringBox
tengo que extiendenBox
:
class StringBox extends Box { type T = String; override val element = ""}
Por lo tanto, se puede decir que Box
es naturalmente covariante en el tipo T
. En otras palabras, las clases con miembros de tipo son covariantes en esos tipos.
¿Tiene sentido?
¿Cómo describirías la relación entre los miembros de tipo y la varianza de tipo?
¿Pueden cambiar la respuesta aceptada a la de Pablo? El mío no es adecuado. –
@ DanielC.Sobral Hecho. Gracias – Michael