resumenes de fundamentos de programación. uned

7
TEMA_15 -------------- Módulos 1. Concepto de módulo Un módulo es un fragmento de programa desarrollado de forma independiente (diseñado y compilado de forma independiente del programa que lo va a utilizar). El concepto de módulo está íntimamente asociado a la abstracción de datos. Cuando utilizamos un módulo a un programa, sólo hay que saber que hace el módulo y sus funciones, pero no tenemos por qué saber cómo está implementado. 2. Especificación y realización Al igual que en cualquier elemento abstracto, en un módulo podemos distinguir: - La especificación ¿Qué hace el módulo? (Interfaz o «interfaz») - La realización ¿Cómo lo hace? (Implementación o realización) Cuando un programa hace uso de otros módulos hay que tener en cuenta los siguientes conceptos: - Compilación separada: El proyecto o programa estará formado por varios ficheros fuente, cada uno de los cuales se compilará por separado. - Compilación segura: Al compilar un fichero fuente, el compilador comprueba que el uso de los elementos de otros módulos es consistente con la interfaz. - Ocultación: Al compilar un fichero fuente el compilador no utiliza información de los detalles de realización de los elementos de otros módulos. 3. Módulos en C + - Para crear un módulo en C + -, habrá que crear dos ficheros: - El fichero de interfaz (nombre_modulo.h) - El archivo de implementación (nombre_modulo.cpp) Archivo de interfaz (nombre_modulo.h) # Pragma once Definición de constantes Definición de tipo 1

Upload: pericodlp

Post on 16-Apr-2015

39 views

Category:

Documents


1 download

DESCRIPTION

Resumenes de fundamentos de programación. Tema 15. Módulos.

TRANSCRIPT

Page 1: Resumenes de fundamentos de programación. UNED

TEMA_15 -------------- Módulos 1. Concepto de módulo Un módulo es un fragmento de programa desarrollado de forma independiente (diseñado y compilado de forma independiente del programa que lo va a utilizar). El concepto de módulo está íntimamente asociado a la abstracción de datos. Cuando utilizamos un módulo a un programa, sólo hay que saber que hace el módulo y sus funciones, pero no tenemos por qué saber cómo está implementado.

2. Especificación y realización Al igual que en cualquier elemento abstracto, en un módulo podemos distinguir: - La especificación ¿Qué hace el módulo? (Interfaz o «interfaz») - La realización ¿Cómo lo hace? (Implementación o realización)

Cuando un programa hace uso de otros módulos hay que tener en cuenta los siguientes conceptos:

- Compilación separada: El proyecto o programa estará formado por varios ficheros fuente, cada uno de los cuales se compilará por separado. - Compilación segura: Al compilar un fichero fuente, el compilador comprueba que el uso de los elementos de otros módulos es consistente con la interfaz. - Ocultación: Al compilar un fichero fuente el compilador no utiliza información de los detalles de realización de los elementos de otros módulos.

3. Módulos en C + - Para crear un módulo en C + -, habrá que crear dos ficheros: - El fichero de interfaz (nombre_modulo.h) - El archivo de implementación (nombre_modulo.cpp)

Archivo de interfaz (nombre_modulo.h) # Pragma once Definición de constantes Definición de tipo Definición de variables globales Definición de procedimientos y funciones Archivo de implementación (nombre_modulo.cpp) # Include <stdio.h> # Include "nommodul.h» .......... Implementación o codificación de los procedimientos y funciones definidos en el módulo interfaz.

Programa principal # Include <stdio.h> # Include "nombre_modulo.h” .......... int main () { .......................... }

1

Page 2: Resumenes de fundamentos de programación. UNED

EJEMPLO 1: UTILIZACIÓN DE MÓDULOS

2

Page 3: Resumenes de fundamentos de programación. UNED

EJEMPLO 2: UTILIZACIÓN DE MÓDULOS Supongamos que tenemos el siguiente diseño de módulos: Programa Librería principal propia Moduls3.cpp Tabulacio.h Tabulacio.cpp

Al igual que el ejemplo de antes creamos un proyecto de consola y le añadimos los 3 ficheros que formarán el proyecto:

3

Page 4: Resumenes de fundamentos de programación. UNED

Archivo de interfaz «Tabulacio.h»

Archivo de implementación "Tabulacio.cpp»

4

Page 5: Resumenes de fundamentos de programación. UNED

Archivo programa principal «Moduls3.cpp»

4. DATOS ENCAPSULADOS Cuando definimos un tipo abstracto de datos, luego hay que declarar variables de ese tipo para poder trabajar con ellas. Los datos encapsuladas nos permiten declarar dentro de un módulo una variable y evitar una declaración explícita externa. Por ejemplo, el módulo de implementación pondríamos:

static Untipo valorInterno; static void Operacion3 () { ..... valorinterno ...... } void Operacion1 () { ..... valorinterno ....... } void Operacion2 () { ..... Valorinterno ...... }

Hay que recordar que por defecto las variables y subprogramas definidos en el nivel más externo de un módulo son globales por defecto. Para que sean tratados como locales hay poner delante de ellos la palabra static.

5