Firmas de plantilla
Una firma de plantilla es una cadena de texto que especifica los parámetros de plantilla formales. Por su parte, una plantilla es un elemento parametrizado que se utiliza para generar elementos de modelado nuevos mediante la sustitución o el enlace de parámetros formales con parámetros reales (valores).
Parámetro de plantilla formal
T
Plantilla con un solo parámetro formal sin tipo
(almacena elementos de tipo T)
Varios parámetros de plantilla formales
KeyType:DateType, ValueType
Sustitución de parámetros
T>unaClaseBase
La sustitución de parámetros debe ser de tipo unaClaseBase o derivarse de ese tipo.
Valores predeterminados para parámetros de plantilla
T=unValorPredeterminado
Clasificadores de sustitución
T>{contract}unaClaseBase
allowsSubstitutable es true
El parámetro debe ser un clasificador que puede ser sustituido con el clasificador designado por el nombre de clasificador.
Parámetros de plantilla de restricción
T:Interface>unaInterfaz
Cuando la restricción limite a un elemento que no sea una clase (una interfaz, un tipo de datos), la restricción aparece después del carácter ":". Por ejemplo, T está restringido a una interfaz (T:Interfaz), que debe ser de tipo "unaInterfaz" (>unaInterfaz).
Usar comodines en firmas de plantilla
T>vector<T->?<unaClaseBase>
El parámetro de plantilla T debe ser de tipo "vector" que contiene objetos que son un supratipo de unaClaseBase.
Parámetros de plantilla de extensión
T>Comparable<T->T>