Cómo instanciar un
tipo.
El proceso de instanciación de un tipo es bien sencillo. Cuando vayamos a hacer uso de un tipo, ya sea en la definición de funciones o de variables, éste puede ser instanciado siempre y cuando posea genéricos.
En ese caso bastará con escribir el nombre del tipo seguido de un paréntesis “(“ y una lista con los tipos y funciones con los que vamos a instanciar sus genéricos separados por comas “,”, y acabaremos cerrando el paréntesis “)”.
Los elementos con los que vamos a instanciar deben cumplir una serie de condiciones que se van a exponer a continuación.
-Si lo que vamos a instanciar es un Tipo Genérico, solo se podrá hacer con tipos declarados en la zona de dominios, que a su vez pueden ser tipos instanciables, o por tipos genéricos propios del TAD que se está definiendo actualmente.
-Si lo que vamos a instanciar es una Función Genérica, sólo se podrá
hacer con Funciones propias del tipo que estemos definiendo siempre y cuando
estas hayan sido declaradas previamente. O bien con funciones Genéricas propias
del tipo que se está definiendo actualmente.
Un ejemplo de instanciación es el siguiente.
Pila(Lista(Natural),TMax)
Como se ha dicho, tanto los tipos Pila, Lista y Natural deben de haber sido declarados en la zona de dominios. Y Tmax debe ser una función propia del tad que se está definiendo, ya sea genérica o no.