Diseño de elementos software con tecnologías basadas en componentes. IFCT0609. José Carlos García Bermúdez
Чтение книги онлайн.
Читать онлайн книгу Diseño de elementos software con tecnologías basadas en componentes. IFCT0609 - José Carlos García Bermúdez страница 5
Con los lenguajes de programación estructurados surgió el concepto de tipos de datos (también llamados tipos de datos primitivos), que definen el conjunto de valores que pueden ser almacenados. Los más comunes son: enteros, decimales, cadenas alfanuméricas, fechas, etc. Pero estos tipos de datos primitivos empezaron a ser insuficientes, ya que los desarrolladores tenían la necesidad de definir los suyos propios.
Los Tipos Abstractos de Datos, cuyo acrónimo es TAD (o ADT si se utiliza la nomenclatura inglesa), son tipos de datos que pueden ser definidos por el programador para agrupar características y comportamientos similares, por lo que aplican el principio de abstracción.
Definición
Abstracción
En informática, la abstracción consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompañan.
De la misma forma que se crean variables a partir de los tipos de datos primitivos, también pueden crearse variables a partir de los TAD definidos en el propio programa. Un TAD no define solo el conjunto de valores que puede almacenar, sino también las operaciones que pueden realizarse sobre ellos.
Importante
La abstracción es la base de la orientación a objetos, ya que permite la creación de un conjunto de clases para modelar el problema que se desea solventar.
El encapsulado de datos permite agrupar a un mismo nivel de abstracción todos los elementos que están relacionados con una misma entidad. De esta forma, se consigue aumentar la cohesión y robustez de los elementos que forman el sistema.
Ejemplo
La aplicación que se ha utilizado anteriormente como ejemplo para el registro de la nota media del alumnado podría haberse desarrollado siguiendo una estructura tradicional:
Pero con un enfoque orientado a objetos se realizaría un encapsulado de todos los elementos que estén relacionados, definiendo la clase “curso”, que agrupa tanto los datos como las operaciones que se realizan sobre esos datos.
El encapsulado de datos y la ocultación de información permiten reducir el número de errores que pueden producirse en una aplicación, ya que en un sistema orientado a objetos estos dependen unos de otros y, si uno de ellos falla, bastará con modificar su implementación y no será necesario modificar los demás objetos.
Sabía que...
Es habitual confundir el concepto de encapsulamiento con el de ocultación, ya que ambos son utilizados de manera conjunta.
Al encapsular los datos y las operaciones, también se debería realizar una ocultación de aquellos que deban ser protegidos del mundo exterior.
Actividades
4.Explique la diferencia que existe entre los tipos abstractos de datos y las variables y detalle qué tipo de relación tienen.
5.¿Qué elementos de la programación orientada a objetos serían los equivalentes a los tipos abstractos de datos y las variables?
Aplicación práctica
Se está iniciando el diseño de una aplicación para gestionar las facturas que se emiten a los clientes de una ferretería. En una primera reunión con los responsables de la empresa, se ha decido utilizar un enfoque orientado a objetos y que la próxima semana se plantee un borrador inicial de cómo podría ser la estructura de la aplicación.
SOLUCIÓN
Como se está en una etapa muy temprana del diseño, solo es posible identificar las clases más importantes y algunos de sus métodos y atributos más importantes. Cuando se tenga mayor detalle de la funcionalidad a implementar, se podrá completar el diseño de las clases.
En primer lugar, se deben abstraer los elementos que van a componer la aplicación, encapsulando sus datos y operaciones. De esta forma, se identificarán las clases que van a componer el sistema:
5.Paso de mensajes
Con la orientación a objetos, las aplicaciones están formadas por un conjunto de objetos que interaccionan entre sí. Al indicar a un objeto que ejecute una operación sobre otro objeto, se dice que se le pasa un mensaje.
Un objeto se comunica con otros mediante mensajes. Cada mensaje implica la ejecución de un método sobre el objeto de destino, que ejecutará la operación correspondiente.
Importante
Los mensajes son la vía de conexión de un objeto con el mundo exterior, lo que le permite comunicarse con otros objetos del sistema.
Los objetos realizan acciones cuando reciben mensajes y solo es posible acceder a estos objetos a través de su interfaz pública.
Los métodos son procedimientos que son invocados cuando un objeto recibe un mensaje. En la programación tradicional, un mensaje se correspondería con la llamada a una función.