28 sept 2009

9 Fundamentos básicos sobre Tipos de Datos Abstractos (TDA/TAD)



En esta entrega nos encontramos con una definición muy importante, los Tipos de Datos Abstractos (TDA) o Tipos Abstractos de Datos (TAD), éstos tienen su origen en el mundo de la programación orientada a objetos, caracterizada por estar formada de funciones que son ejecutadas en el orden en que el mismo programa o usuario las pide.


En los siguientes párrafos expongo algunos aspectos básicos que caracterizan los TDA.

1. Definiciones de TDA son:
Un Tipo de dato abstracto es un conjunto de datos u objetos al cual se le asocian operaciones.

Un tipo de dato abstracto o Tipo abstracto de datos (TAD) es un modelo matemático compuesto por una colección de operaciones definidas sobre un conjunto de datos para el modelo.

Un TDA es una representación de una estructura de datos y las operaciones permitidas para ella, este concepto extiende lo relacionado con los Tipos de datos definidos por el usuario.

2. La abstracción:

Como ya se mencionó, los Lenguajes de Programación Orientados a Objetos son lenguajes formados por diferentes métodos o funciones y que son llamados en el orden en que el programa lo requiere, o el usuario lo desea. La abstracción de datos consiste en ocultar las características de un objeto y obviarlas, de manera que solamente utilizamos el nombre del objeto en nuestro programa.

Esto es similar a una situación de la vida cotidiana. Cuando decimos la palabra “perro”, no necesitas que se especifique lo que hace el perro. Esto es porque ya sabemos la forma que tiene un perro y también que los perros ladran. De manera que abstraemos todas las características de todos los perros en un solo término, “perro”.

A esto se le llama ‘Abstracción’ y es un concepto muy útil en la programación, ya que un usuario no necesita mencionar todas las características y funciones de un objeto cada vez que éste se utiliza, sino que son declaradas por separado en el programa y simplemente se utiliza el término abstracto (“perro”) para mencionarlo.

3. La abstracción en los TDA:

Al definir un TDA se busca abstraer un Tipo de Dato de forma tal que permita concentrarse en los aspectos esenciales e ignorar el resto, se busca eliminar diferencias y concentrarse en los aspectos comunes del Tipo de Dato.

El TDA provee de una interfaz con la cual es posible realizar las operaciones permitidas, abstrayéndose de la manera en como estén implementadas dichas operaciones.

4. Encapsulamiento:

El encapsulamiento es el proceso por el cual los datos que se deben enviar a través de una red se deben colocar en paquetes que se puedan administrar y rastrear.

El encapsulado consiste pues en ocultar los detalles de implementación de un objeto, pero a la vez se provee una interfaz pública por medio de sus operaciones permitidas.

Considerando lo anterior también se define el encapsulado como la propiedad de los objetos de permitir el acceso a su estado únicamente a través de su interfaz o de relaciones preestablecidas con otros objetos.

El paradigma de orientación a objetos permite el encapsulamiento de los datos y las operaciones mediante la definición de clases e interfaces, lo cual permite ocultar la manera en cómo ha sido implementado el TDA y solo permite el acceso a los datos a través de las operaciones provistas por la interfaz.

5. Encapsulamiento en los TDA:

Un TDA encapsula un Tipo de Dato de forma que oculta los detalles de su implementación, solo se presenta la interfaz, con esto prevé que modificaciones en la implementación afecten la aplicación y protege los datos de corrupción.

6. Generalización:

Dados con conceptos relacionados, A y B, el concepto A es una generalización del concepto B si y sólo si:

• cada instancia del concepto B es también una instancia del concepto A; y

• existen instancias del concepto A que no son instancias del concepto B.

En forma equivalente, A es una generalización de B si B es una especialización de A.

Por ejemplo, animal es una generalización de ave porque toda ave es un animal, y hay animales que no son aves (perros, por ejemplo).

7. Generalización en los TDA:

Un TDA generaliza un Tipo de Dato al establecer una jerarquía entre ellos de forma que los menos generales hereden características de los más generales.

8. Implementación de un TDA:

La implementación de un TDA consiste en la traducción a lenguaje de programación de una estructura de datos y los procedimientos y/o funciones que regulan sus comportamientos esenciales.

Es importante resaltar que el lenguaje Turbo Pascal fue determinante para la aceptación de los TDA con la introducción de las Units

La implementación de un TDA requiere la evaluación rigurosa de la situación, respecto a las alternativas y oportunidades existentes así como de las necesidades para realizar la escogencia del TDA de acuerdo a una visión sistémica de la situación.

9. Características Importantes de los TDA:

Dos TDA con igual estructura y diferentes comportamientos son diferentes.

Un mismo TDA puede ser implementado utilizando distintas estructuras de datos y proveer la misma funcionalidad.

Por Ejemplo: Si se desea implementar una Pila, se tiene que ésta puede ser creada de forma estática o dinámica, y que dependiendo de esto sus operaciones tienen ciertas características particulares. La implementación de la Pila necesita la evaluación de los requisitos de memoria para determinar si se manejará de una u otra forma.

Se debe resaltar que las Estructuras de Datos representan la disciplina de manejo del tipo de dato, o sea el ¿cómo? y el Tipo de Dato representa la forma física en que se manejará dicha estructura es decir el ¿qué? Un TDA engloba ambos conceptos de forma que se adapte a una situación específica.

Los TDA son el punto de partida para el concepto de Programación Orientada a Objetos.

Un diseñador de programas requiere del conocimiento de una amplia gama de Tipo de Dato y estructuras de datos de forma tal que le permita tener criterio amplio a la hora de selección de la Estructura de Datos ideal para una situación. Así como también de las técnicas y herramientas que le permitan diseñar e implantar los TDA adecuadamente.

En próximas entregas se profundizará en todos los conceptos relacionados con los TDA para lograr un concepto amplio de los mismos.

Gracias

Ing. Mari Carmen Villegas
UNA – CLA
ISIS

No hay comentarios:

Publicar un comentario

Descarga Libros Gratis!!!