6. estructura de programas
Click here to load reader
-
Upload
hectormamani -
Category
Documents
-
view
1.003 -
download
3
Transcript of 6. estructura de programas
Estructura de Programas
Tecnología de ObjetosRaúl Herrera
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.
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.
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
Definición de Clases en C++
Programa en C++
Definición de Clases en Java
Programa en Java
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)
Ejemplo
Definición
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);
Implementación de la clase punto
Implementación de la clase punto (2)
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.
Invocación de Métodos Los métodos se invocan mediante paso de
mensajes:
El objeto P es el receptor del mensaje:
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