Saltar al contenido
uencoder

Generics

Los genéricos permiten que los tipos sean parámetros, posibilitando contenedores y algoritmos con seguridad de tipos y reutilizables que ligan tipos concretos en la instanciación.

Propósito

Escribir código reutilizable con seguridad de tipos, evitando duplicación y comprobaciones de tipos en tiempo de ejecución.

Mecanismo

Tipos parametrizados: List<T> proporciona una List para cualquier tipo T. Java usa borrado de tipos (sin información genérica en tiempo de ejecución), las plantillas de C++ generan código para tipos concretos, Rust monomorfiza. La covarianza/contravarianza restringe las relaciones de subtipado.

Casos de uso

  • Diseño de bibliotecas de contenedores
  • Reutilización con seguridad de tipos
  • Diseño de APIs

Herramientas relacionadas

References