No. De Matricula: 20440635 |
Fecha: 12/09/2021 |
Nombre del
Estudiante: Valeria Orduño Rodriguez |
Carrera: }ing. informatica |
Fecha de entrega: 12/09/2021 |
Nombre de la Materia: Estructura de datos |
Bibliografía González, G. I. (2018). Programacion (Estructura
de datos). Ciudad de México. Bottazzi, C., Costarelli, S., & D’El ́ıa, J. (s.f.). Algoritmos y Estructuras de Datos. |
Título del tema:
Tipos de datos
abstractos y su implementación en la programación orientada a objetos.
Descripción del Tema:
Resumen y mapa conceptual sobre los tipos de datos abstractos y su implementación
en la programacion orientada a objetos
Desarrollo del Tema:
Los Tipos de
Datos Abstractos son modelos con los cuales se representan
estructuras con propiedades relativas a
un tipo de dato del cual se pueden
crear objetos, los cuales tienen atributos, y todos ellos
servirán para desarrollar una aplicación en particular. A diferencia de
los tipos de datos comunes o las estructuras de datos tradicionales, aquí
tenemos dos características importantes que son el modularidad y el
encapsulamiento.
Encapsulamiento:
Todas las operaciones y las propiedades del tipo de dato abstracto,
están definidas dentro de él mismo, nada se define por separado; de esa manera
el estado del objeto sólo puede cambiar con las operaciones definidas para él
mismo, eso nos da una mejor organización ya que para acceder a la operaciones o
propiedades de un objeto de ese tipo, hay que hacer forzosamente referencia
a él mismo.
Modularidad: Cada objeto de un cierto tipo de TDA es único,
y en él residen todas las características del mismo; así como las posibilidades
de cambiar su estado; ese elemento puede ser tomado como ente independiente para
formar objetos más complejos; es decir, se toman varios objetos de diferentes
tipos, para formar objetos más complejos o para agregar nuevas operaciones y
propiedades, de esa manera se hace una variante del objeto anterior.
La finalidad de crear un TDA es aplicarse de forma general
a los problemas semejantes, al
originalmente planteado, por lo que resulta independiente de la programación.
Estas estructuras están incorporadas en muchos lenguajes de
programacion o bien pueden obtenerse de librerías. El uso de estas estructuras
tiene una serie de ventajas. Se ahorra tiempo de programacion ya que no es
necesario codificar. Estas implementaciones suelen ser eficientes y robustas.
Se separan dos capas de código bien diferentes, por una parte, el algoritmo que
escribe el programador, y por otro las rutinas de acceso a las diferentes estructuras.
Existen estimaciones bastante uniformes de los tiempos de ejecución de las
diferentes operaciones. Las funciones asociadas a cada estructura son
relativamente independientes del lenguaje o la implementación en particular. As
́ı, una vez que se plantea un algoritmo en términos de operaciones sobre una tal
estructura es fácil implementarlo en una variedad de lenguajes con una
performance similar.
Finalmente, la “implementación”
de estas funciones, es decir el código específico que implementa cada una de
las funciones declaradas en la interfaz. Como regla general podemos decir que
un programador que quiere usar una interfaz abstracta, debería tratar de
elaborar primero un algoritmo abstracto basándose en las operaciones abstractas
sobre el mismo. Luego, al momento de escribir su código debe usar la interfaz
específica para traducir su algoritmo abstracto en un código compilable.
Mapa conceptual
Conclusión
del Tema:
En conclusión, un tipo de dato abstracto es un conjunto de datos u objetos al cual se le asocian operaciones. Como ejemplo podríamos mencionar: Listas, colas, pilas, arboles. Estos tipos de datos tienen sus propias características ya mencionadas anteriormente y es fundamental tomarlas en cuenta el momento de implementarlas en nuestro código.
Comentarios
Publicar un comentario