6. estructura de programas

17

Click here to load reader

description

orientacion a objetos, programacion

Transcript of 6. estructura de programas

Page 1: 6. estructura de programas

Estructura de Programas

Tecnología de ObjetosRaúl Herrera

Page 2: 6. estructura de programas

Requisitos para un programa modular Correspondencia directa. Conexión de un sistema de software

con los sistemas externos con que está relacionado. La estructura modular obtenida, debe seguir siendo compatible con cualquier otra estructura modular en el dominio del problema.

Pocas interfaces. Cada módulo debe comunicarse con el menor número de módulos posible.

Interfaces pequeñas (acoplamiento débil). Si dos módulos se comunican, deben intercambiar la menor información posible.

Interfaces explícitas. Siempre que dos módulos A y B se comuniquen, esto debe ser obvio a partir del texto de A, del de B o de ambos.

Ocultar información. Mostrar sólo lo necesario.

Page 3: 6. estructura de programas

Las Clases desde el punto de vista de la programación

Caja negra que oculta en su implementación: Atributos: variables que codifican el estado de

una instancia de la clase (objeto) Métodos: subprogramas que describen el

comportamiento de un objeto de la clase

Una clase es semejante a un tipo: Atributos: estructura de datos Métodos: operaciones sobre el tipo.

Page 4: 6. estructura de programas

Las clases son cajas negras con Interfaz (uso) Implementación (funcionamiento)

El implementador se encarga de definir el interfaz y de desarrollar la implementación

El usuario empleará los objetos de la clase exclusivamente a través del interfaz

Page 5: 6. estructura de programas

Definición de Clases en C++

Page 6: 6. estructura de programas

Programa en C++

Page 7: 6. estructura de programas

Definición de Clases en Java

Page 8: 6. estructura de programas

Programa en Java

Page 9: 6. estructura de programas

Objeto desde el punto de vista de la programación

Instancia de una clase: Cada objeto de una clase tiene su propia copia

de los atributos (estado propio) Todos los objetos de una clase comparten los

mismos métodos (comportamiento común)

Page 10: 6. estructura de programas

Ejemplo

Page 11: 6. estructura de programas

Definición

Page 12: 6. estructura de programas

Definición de métodos Hay 3 tipos de funciones: consultas, órdenes y

constructores. Las funciones se traducen en atributos y rutinas.

El objeto afectado no aparece como argumento del método:

trasladar(E Rdx,dy);

En realidad, el objeto afectado es un argumento de entrada/salida implícito llamado éste (this):

ALGORITMO: trasladar(ES Punto éste, E Rdx,dy);

Page 13: 6. estructura de programas

Implementación de la clase punto

Page 14: 6. estructura de programas

Implementación de la clase punto (2)

Page 15: 6. estructura de programas

Uso de Clases El usuario declara objetos como cualquier otra variable:

Punto p1, p2;

Como usuario, no se puede acceder a la parte privada de los objetos: p1.X = 2;ERROR

El usuario sólo puede manipular un Punto "a" invocando a los métodos de la interfaz de la clase Punto(comportamiento)

Principio de acceso uniforme: Los clientes no tienen por qué saber que se está accediendo a una rutina (sin parámetros) o a un atributo. Java y C++ no cumplen este principio.

Page 16: 6. estructura de programas

Invocación de Métodos Los métodos se invocan mediante paso de

mensajes:

El objeto P es el receptor del mensaje:

Page 17: 6. estructura de programas

La estructura General de un POO Definición de Acceso a Bibliotecas

Definición de variables especiales (globales)

Definición de Clases Dentro de la Clase, definir:

Atributos Métodos

Definición de módulos de programa

Definición del flujo de control principal