Tipos de datos abstractos en programacion orientada a objetos

Qué es el tipo de datos abstracto en la estructura de datos

Después de leer este ensayo OOP vs ADT, no he entendido muy bien de qué se trata el ADT y cómo está conectado con el concepto de interfaz. ¿Puede alguien explicar la diferencia entre estos conceptos con algunos ejemplos de código (Java o Scala sería genial).
Un tipo de datos abstracto (ADT) es un modelo matemático para una cierta clase de estructuras de datos que tienen un comportamiento similar; o para ciertos tipos de datos de uno o más lenguajes de programación que tienen una semántica similar. Un tipo de datos abstracto se define indirectamente, sólo por las operaciones que pueden realizarse sobre él y por las restricciones matemáticas sobre los efectos. El tipo de datos abstracto no es necesariamente un concepto OOP. Es un término más antiguo para describir los conceptos de, por ejemplo, Pila y Cola en términos de su funcionalidad, sin describir la implementación.

Tipos de datos abstractos en java

Este artículo puede contener una investigación original. Por favor, mejórelo verificando las afirmaciones realizadas y añadiendo citas en línea. Las afirmaciones que sólo consisten en una investigación original deben ser eliminadas. (Marzo de 2015) (Aprende cómo y cuándo eliminar este mensaje de la plantilla)
Este artículo necesita citas adicionales para su verificación. Por favor, ayude a mejorar este artículo añadiendo citas de fuentes fiables. El material sin fuente puede ser cuestionado y eliminado.Buscar fuentes:  “Abstract data type” – news – newspapers – books – scholar – JSTOR (May 2009) (Learn how and when to remove this template message)
En informática, un tipo de datos abstracto (TDA) es un modelo matemático para los tipos de datos. Un tipo de datos abstracto se define por su comportamiento (semántica) desde el punto de vista de un usuario, de los datos, específicamente en términos de posibles valores, posibles operaciones sobre los datos de este tipo, y el comportamiento de estas operaciones. Este modelo matemático contrasta con las estructuras de datos, que son representaciones concretas de los datos, y son el punto de vista de un implementador, no de un usuario.

Tipo de datos abstracto frente a estructura de datos

El orden de salida de los elementos de una pila da lugar a su nombre alternativo, LIFO (last in, first out). Además, una operación de “peek” puede dar acceso a la parte superior sin modificar la pila[1] El nombre de “pila” para este tipo de estructura proviene de la analogía con un conjunto de elementos físicos apilados unos sobre otros. Esta estructura hace que sea fácil sacar un elemento de la parte superior de la pila, mientras que para llegar a un elemento más profundo en la pila puede ser necesario sacar primero varios otros elementos[2].
Considerada como una estructura de datos lineal, o más abstractamente una colección secuencial, las operaciones push y pop ocurren sólo en un extremo de la estructura, referido como la parte superior de la pila. Esta estructura de datos permite implementar una pila como una lista enlazada individualmente y un puntero al elemento superior. Una pila puede implementarse para tener una capacidad limitada. Si la pila está llena y no contiene suficiente espacio para aceptar una entidad a ser empujada, la pila se considera entonces en un estado de desbordamiento. La operación pop elimina un elemento de la parte superior de la pila.

Ejemplo de tipo de datos abstracto

Un tipo de datos abstracto representa un modelo de una estructura de datos que especifica las características básicas de los datos y las operaciones que pueden realizarse con ellos. Por ejemplo, en Java la interfaz List es un buen ejemplo. Se trata de una interfaz y no de una implementación concreta. Define con qué datos trata (una colección de algo) y un conjunto de operaciones como add(), addAll(), clear() etc. Los ejemplos de implementaciones particulares son ArrayList, LinkedList, Stack, etc. Al implementar la interfaz List estas clases se convierten en “Listas” en sí mismas.

Acerca del autor

admin

Ver todos los artículos