Progamacion oeintada objetos (poo) i

Solo disponible en BuenasTareas
  • Páginas : 9 (2039 palabras )
  • Descarga(s) : 0
  • Publicado : 21 de marzo de 2011
Leer documento completo
Vista previa del texto
Metodologías de Programación I

TADs Intro OO Relacion TADs -POO

Tipo de datos
Consiste en una colección de valores, con una representación asociada, su estructura de datos y un conjunto de operaciones definidas. Sobre ellos, al conjunto de valores se lo llama dominio del tipo. Ej: tipo de dato int representa valores -2,-1, 0, 1, 2 …, sobre los cuales están definidas las operaciones suma,resta multiplicación, etc

Tipo Abstracto de Datos

Es la noción matemática que define un tipo de datos. Esta descripción abstracta y formal se especifica mediante la especificación sintáctica, donde defino nombre, dominios, y rango sintáctica de operaciones sobre el tipo y la especificación semántica donde por un conjunto de axiomas establezco como opera cada operación Por lo tanto un TAD sedefine por un numero de operaciones aplicables, el modo que puede invocarse cada operación (sintaxis) y sus efectos (semántica).

Tipo Abstracto de Datos

Por lo tanto un TAD se define por un número de operaciones aplicables, el modo que puede invocarse cada operación (sintaxis) y sus efectos (semántica).

Ejemplo TAD Natural
Nombre: Natural Dato: secuencia de dígitos precedida por unsigno positivo. Operaciones: Crear-> Natural =: (Natural,Natural) -> Booleano(verdadero, falso) >: (Natural,Natural) -> Booleano(verdadero, falso) +: (Natural,Natural) -> Natural …. Axiomas y Operaciones 0(cero) es un numero natural. Si n es un numero natural, también lo es S(n), su siguiente. (S(n)= 0) = falso (n + 0 ) = n si S(n) = S (m)=> n = m
....

Sintaxis

Semántica

Tipo Abstracto deDatos
Los TADS se definen por su comportamiento exterior (operaciones), no por su estructura. Un TAD no es un tipo de datos, no contiene ninguna representación de los valores del tipo.

Tipo Abstracto de Datos
Todo TAD debe cumplir con 2 ppios: Ocultación de la info (encapsulación) : solo puede accederse a los valores del tipo que define o modificarlos mediante las operaciones abstractasdefinidas sobre ellos. La encapsulación hace referencia al ocultamiento de la info y a la capacidad para expresar al unidad formada por los valores y las operaciones Abstracción de Datos: se separan las propiedades lógicas de los datos de su representación o implementación

Como se reflejan estos ppios en nuestro ejemplo de TAD Natural??




Las operaciones proporcionan una especificacióndel tipo, independientemente de la representación de éste, indican que hacen en termino de valores y tipos , pero no como se implementarán. Posibles representaciones: ábacos, dedos, ceros y unos en memoria Ram. Los TADs se definen operacionalmente, no estructuralmente, es decir en función de las operaciones ( o funciones) que permiten, no de su estructura interna

Otro ejemplos de TAD


Pila: contenedor de elementos, con un orden: LIFO. Definimos Operaciones crear, apilar, desapilar, cima, esta vacío Cola: idem con las operaciones. Polinomios? Sugerencias…





Síntesis






Cualquier implementación software de un TAD debe seguir cumpliendo los ppios de ocultación de la información y abstracción de datos. Así, la implementación deberá ocultar la representacióndel tipo (su estructura de datos) y solo podrá accederse a sus valores (datos) mediante las funciones (interfaz) Un TAD especifica el qué, no el cómo, un tipo predefinido especifica el cómo basándose en el qué, y lo oculta al programador.

Tipos abstractos de datos y Orientación a Objetos
TADs permiten la creación de instancias con propiedades y comportamiento bien definidos. En orientación aobjetos TADs son referidos como clases. Por lo tanto una clase define las propiedades de objetos, los que son instancias en un entorno orientado a objetos.

Programación Orientada a Objetos
Según Booch:

La programación Orientada a Objetos es un método de implementación en el cual los programas están organizados como colecciones cooperativas de objetos, cada uno de los cuales representa una...
tracking img