Algoritmos de Programación con Python

16.2. Tipos abstractos de datos

Los tipos nuevos que habíamos definido en unidades anteriores fueron tipos de datos concretos: un punto se definía como un par ordenado de números, un hotel se definía por dos cadenas de caracteres (nombre y unicación) y dos números (calidad y precio), etc.

Vamos a ver ahora una nueva manera de definir datos: por las operaciones que tienen y por lo que tienen que hacer esas operaciones (cuál es el resultado esperado de esas operaciones). Esa manera de definir datos se conoce como tipos abstractos de datos o TADs.

Lo novedoso de este enfoque respecto del anterior es que en general se puede encontrar más de una representación mediante tipos concretos para representar el mismo TAD, y que se puede elegir la representación más conveniente en cada caso, según el contexto de uso.

Los programas que los usan hacen referencia a las operaciones que tienen, no a la representación, y por lo tanto ese programa sigue funcionando si se cambia la representación.

Dentro del ciclo de vida de un TAD hay dos fases: la programación del TAD y la construcción de los programas que lo usan.

Durante la fase de programación del TAD, habrá que elegir una representación, y luego programar cada uno de los métodos sobre esa representación.

Durante la fase de construcción de los programas, no será relevante para el programador que utiliza el TAD cómo está implementado, sino únicamente los métodos que posee.

Nota Utilizando el concepto de interfaz visto en la unidad anterior, podemos decir que a quien utilice el TAD sólo le interesará la interfaz que éste posea.


Copyright (c) 2011-2014 Rosita Wachenchauzer, Margarita Manterola, Maximiliano Curia, Marcos Medrano, Nicolás Paez. La copia y redistribución de esta página se permite bajo los términos de la licencia Creative Commons Atribución - Compartir Obras Derivadas Igual 3.0 siempre que se conserve esta nota de copyright.