La covarianza y la contravarianza son propiedades de la relación entre dos tipos compuestos, e indican si se mantiene o se invierte la relación de orden entre los tipos que los componen. Tienen especial relevancia en el diseño de lenguajes tipados, puesto que determinan cuándo es posible sustituir un tipo determinado por un subtipo o un supertipo.

Property Value
dbo:abstract
  • La covarianza y la contravarianza son propiedades de la relación entre dos tipos compuestos, e indican si se mantiene o se invierte la relación de orden entre los tipos que los componen. Tienen especial relevancia en el diseño de lenguajes tipados, puesto que determinan cuándo es posible sustituir un tipo determinado por un subtipo o un supertipo. Sea por ejemplo un sistema de tipos en el que int y float identifican a los números enteros y racionales, respectivamente, que además guardan una relación de orden int ≤ float, indicando que int es un subtipo de float. Sea también int⟶ el tipo de una función que acepta un parámetro de tipo int. Si el sistema de tipos permite usar una función float⟶ en cualquier lugar donde se necesita una función int⟶, se dice entonces que las funciones son contravariantes en los argumentos, puesto que float⟶ ≤ int⟶ y en el tipo compuesto se invierte la relación de orden entre los tipos simples int ≤ float. Si en cambio se tiene una función ⟶float que devuelve un racional, y el sistema de tipos permite usar una función ⟶int que devuelve un entero en su lugar, entonces ⟶int ≤ ⟶float, y se dice que las funciones son covariantes en los valores de retorno.​​ En los lenguajes modernos se suele hablar de varianza,​​ y aplica no sólo a las relaciones de subtipado entre funciones libres, si no también a cómo funciona la especialización de métodos en subclases,​ o a cómo de restrictivos son los parámetros en los tipos compuestos que contienen genéricos.​ (es)
  • La covarianza y la contravarianza son propiedades de la relación entre dos tipos compuestos, e indican si se mantiene o se invierte la relación de orden entre los tipos que los componen. Tienen especial relevancia en el diseño de lenguajes tipados, puesto que determinan cuándo es posible sustituir un tipo determinado por un subtipo o un supertipo. Sea por ejemplo un sistema de tipos en el que int y float identifican a los números enteros y racionales, respectivamente, que además guardan una relación de orden int ≤ float, indicando que int es un subtipo de float. Sea también int⟶ el tipo de una función que acepta un parámetro de tipo int. Si el sistema de tipos permite usar una función float⟶ en cualquier lugar donde se necesita una función int⟶, se dice entonces que las funciones son contravariantes en los argumentos, puesto que float⟶ ≤ int⟶ y en el tipo compuesto se invierte la relación de orden entre los tipos simples int ≤ float. Si en cambio se tiene una función ⟶float que devuelve un racional, y el sistema de tipos permite usar una función ⟶int que devuelve un entero en su lugar, entonces ⟶int ≤ ⟶float, y se dice que las funciones son covariantes en los valores de retorno.​​ En los lenguajes modernos se suele hablar de varianza,​​ y aplica no sólo a las relaciones de subtipado entre funciones libres, si no también a cómo funciona la especialización de métodos en subclases,​ o a cómo de restrictivos son los parámetros en los tipos compuestos que contienen genéricos.​ (es)
dbo:wikiPageID
  • 8125410 (xsd:integer)
dbo:wikiPageLength
  • 5785 (xsd:integer)
dbo:wikiPageRevisionID
  • 120324214 (xsd:integer)
dct:subject
rdfs:comment
  • La covarianza y la contravarianza son propiedades de la relación entre dos tipos compuestos, e indican si se mantiene o se invierte la relación de orden entre los tipos que los componen. Tienen especial relevancia en el diseño de lenguajes tipados, puesto que determinan cuándo es posible sustituir un tipo determinado por un subtipo o un supertipo. (es)
  • La covarianza y la contravarianza son propiedades de la relación entre dos tipos compuestos, e indican si se mantiene o se invierte la relación de orden entre los tipos que los componen. Tienen especial relevancia en el diseño de lenguajes tipados, puesto que determinan cuándo es posible sustituir un tipo determinado por un subtipo o un supertipo. (es)
rdfs:label
  • Covariancia y contravariancia (ciencias de la computación) (es)
  • Covariancia y contravariancia (ciencias de la computación) (es)
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is owl:sameAs of
is foaf:primaryTopic of