Você está na página 1de 8

Diseo de Estructura de Datos

Abstraccin de Datos: Tipos Abstractos de Datos y Objetos

Introduccin

Abstraccin de datos es la tcnica de inventar nuevos tipos de datos que sean ms adecuados a una aplicacin y, por consiguiente, facilitar la escritura del programa. La tcnica de abstraccin de datos es una tcnica potente de propsito general que cuando se utiliza adecuadamente, puede producir programas ms cortos, ms legibles y flexibles. Los lenguajes de programacin soportan en sus compiladores tipos de datos fundamentales o bsicos (predefinidos), tales como int, char y float en C y C++, o bien integer, real o boolean en Pascal. Algunos lenguajes de programacin tienen caractersticas que permiten ampliar el lenguaje aadiendo sus propios tipos de datos.

TAD (abstract data type, ADT).

Un tipo de dato definido por el programador se denomina tipo abstracto de dato, TAD (abstract data type, ADT). El trmino abstracto se refiere al medio en que un programador abstrae algunos conceptos de programacin creando un nuevo tipo de dato. La modularizacin de un programa utiliza la nocin de tipo abstracto de dato (TAD) siempre que sea posible. Si el TAD soporta los tipos que desea el usuario y el conjunto de operaciones sobre cada tipo, se obtiene un nuevo tipo de dato denominado objeto .

Rol de la Abstraccin de Datos

Los programadores han tenido que luchar con el problema de la complejidad durante mucho tiempo desde el nacimiento de la informtica. Para comprender lo mejor posible la importancia de las tcnicas orientadas a objetos, revisemos cules han sido los diferentes mecanismos utilizados por los programadores para controlar la complejidad. Entre todos ellos se destaca la abstraccin. Como describe Wulft: Los humanos hemos desarrollado una tcnica excepcionalmente potente para tratar la complejidad: abstraernos de ella. Incapaces de dominar en su totalidad los objetos complejos, se ignora los detalles no esenciales, tratando en su lugar con el modelo ideal del objeto y centrndonos en el estudio de sus aspectos esenciales. En esencia, la abstraccin es la capacidad para encapsular y aislar la informacin, del diseo y ejecucin. En otro sentido, las tcnicas orientadas a objetos se ven como resultado de una larga regresin histrica que comienza en los procedimientos y sigue en los mdulos, tipos abstractos de datos y objetos.

Definicin Formal TAD

Un tipo abstracto de datos (TAD) es un tipo de dato definido por el programador que se puede manipular de un modo similar a los tipos de datos definidos por el sistema. Al igual que los tipos definidos por el sistema, un tipo de dato abstracto corresponde a un conjunto (puede ser de tamao indefinido) de valores legales de datos y un nmero de operaciones primitivas que se pueden realizar sobre esos valores. Los usuarios pueden crear variables con valores que estn en el rango de valores legales y pueden operar sobre esos valores utilizando las operaciones definidas. Por ejemplo, en el caso de la pila ya citada, se puede definir dicha pila como un tipo abstracto de datos y las operaciones sobre la pila como las nicas operaciones legales que estn permitidas para ser realizadas sobre instancias de la pila.

Definicin Formal TAD

Los mdulos se utilizan frecuentemente como una tcnica de implementacin para tipos abstractos de datos, y el tipo abstracto de datos es un concepto ms terico. Para construir un tipo abstracto de datos se debe poder:

1. Exponer una definicin del tipo. 2. Hacer disponible un conjunto de operaciones que se pueden utilizar para manipular instancias de ese tipo. 3. Proteger los datos asociados con el tipo de modo que slo se puede actuar sobre ellas con las rutinas proporcionadas. 4. Hacer instancia mltiples del tipo.

Objetos

Un objeto es sencillamente un tipo abstracto de datos al que se aaden importantes innovaciones en comparticin de cdigo y reutilizacin. Los mecanismos bsicos de orientacin a objetos son: objetos, mensajes y mtodos, clases e instancias y herencia. Una idea fundamental es la comunicacin de los objetos a travs de paso de mensajes. Adems de esta idea, se aaden los mecanismos de herencia y polimorfismo. La herencia permite diferentes tipos de datos para compartir el mismo cdigo, permitiendo una reduccin en el tamao del cdigo y un incremento en la funcionalidad. El polimorfismo permite que un mismo mensaje pueda actuar sobre objetos diferentes y comportarse de modo distinto. La persistencia se refiere a la permanencia de un objeto, esto es, la cantidad de tiempo para el cual se asigna espacio y permanece accesible en la memoria del computador.

Objetos