Вы находитесь на странице: 1из 20

Qu es programacin modular? Uno de los mtodos ms conocidos para resolver un problema es dividirlo en problemas ms pequeos, llamados subproblemas.

De esta manera, en lugar de resolver una tarea compleja y tediosa, resolvemos otras ms sencillas y a partir de ellas llegamos a la solucin. Esta tcnica se usa mucho en programacin ya que programar no es ms que resolver problemas, y se le suele llamar diseo descendente, metodologa del divide y vencers o programacin top-down. Es evidente que si esta metodologa nos lleva a tratar con subproblemas, entonces tambin tengamos la necesidad de poder crear y trabajar con subprogramas para resolverlos. A estos subprogramas se les suele llamarmdulos, de ah viene el nombre de programacin modular. En Pascal disponemos de dos tipos de mdulos: los procedimientos y las funciones. Veamos un ejemplo de cmo emplear el diseo descendente para resolver un problema. Supongamos que un profesor quiere crear un programa para gestionar las notas de sus alumnos. Quiere que dicho programa le permita realizar tareas tales como asignar notas, cambiar notas, ver las notas segn distintas calificaciones, etc. A continuacin tines un esquema que representa una de las posibles divisiones del problema en mdulos.

Los procedimientos
Un procedimiento es un subprograma que realiza una tarea especfica. Para invocarlo, es decir, para hacer que se ejecute, basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal. Pero, hay que tener muy en cuenta que su declaracin debe hacerse antes de que sea llamado por otro mdulo. Una vez que has construido varios programillas en Pascal, crear un procedimiento no es nada complicado, pues tiene prcticamente la misma estructura que un programa. Veamos las secciones que comparten y no comparten un procedimiento y un programa principal:
Mientras que en el programa la cabecera consta de la palabra reservada program seguida del nombre del programa, en un procedimiento se compone de la palabra procedure seguida del nombre del procedimiento y una lista de parmetros que es opcional. Las secciones de declaracin de constantes (const), de tipos (type) y de variables (var) tambin pueden aparecer en la estructura de cualquier procedimiento. Respecto al cuerpo del procedimiento, decir que al igual que el de un programa se delimita por las palabras reservadas begin y end, y en su interior puede contener sentencias simples o estructuradas. Por ltimo, comentar que ambos difieren en el signo de puntuacin que marca su final, ya que en un programa es el punto y en un procedimiento es el punto y coma. Todas estas diferencias y similitudes que hemos comentado, puedes apreciarlas en los siguientes esquemas que representan las estructuras de un programa y de un procedimiento:

Todas estas diferencias y similitudes que hemos comentado, puedes apreciarlas en los siguientes esquemas que representan las estructuras de un programa y de un procedimiento:

program nombre_programa; const declarar_ctes; type declarar_tipos; var declarar_vars; (*aqu iran los subprogramas*) begin cuerpo_programa end .

procedure nombre (lista_parametros); const declarar_ctes; type declarar_tipos; var declarar_vars; (*aqu iran los subprogramas*) begin cuerpo_procedimiento end ;

Implementacin de caractersticas O.O


La Programacin Orientada a Objetos es una metodologa de diseo de software y un paradigma de programacin que define los programas en trminos de "clases de objetos", objetos que son entidades que combinan estado (es decir, datos), comportamiento (esto es, procedimientos o mtodos) e identidad (propiedad del objeto que lo diferencia del resto). La programacin orientada a objetos expresa un programa como un conjunto de estos objetos, que colaboran entre ellos para realizar tareas. Esto permite hacer los programas y mdulos ms fciles de escribir, mantener y reutilizar.

Implementacin de caractersticas O.O


De esta forma, un objeto contiene toda la informacin, (los denominados atributos) que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases (e incluso entre objetos de una misma clase, al poder tener valores bien diferenciados en sus atributos). A su vez, dispone de mecanismos de interaccin (los llamados mtodos) que favorecen la comunicacin entre objetos (de una misma clase o de distintas), y en consecuencia, el cambio de estado en los propios objetos. Esta caracterstica lleva a tratarlos como unidades indivisibles, en las que no se separan (ni deben separarse) informacin (datos) y procesamiento (mtodos).

Caractersticas de la programacin O.O


Abstraccin: Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cmo se implementan estas caractersticas. Encapsulacin: Tambin llamada "ocultacin de la informacin", esto asegura que los objetos no pueden cambiar el estado interno de otros objetos de maneras inesperadas; solamente los propios mtodos internos del objeto pueden acceder a su estado. Polimorfismo: Las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocacin de un comportamiento en una referencia producir el comportamiento correcto para el tipo real del referente. Por ejemplo las plantillas y la sobrecarga de operadores de C++. Herencia: Organiza y facilita el polimorfismo y la encapsulacin permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que reimplementar su comportamiento.

Encapsulacin
En programacin orientada a objetos, se denomina encapsulacin al ocultamiento del estado, es decir, de los datos miembro, de un objeto de manera que slo se puede cambiar mediante las operaciones definidas para ese objeto. De esta forma el usuario de la clase puede obviar la implementacin de los mtodos y propiedades para concentrarse slo en cmo usarlos. Por otro lado se evita que el usuario pueda cambiar su estado de maneras imprevistas e incontroladas. El encapsulado tambin indica que solo es revisado por un usuario externo, pero este usuario solo puede revisar o mirar, ciertas partes de la clase, adems las partes de la clase si son admitidas por su misma clase. Cada tipo de objeto expone una interfaz a otros objetos que especifica cmo otros objetos pueden interactuar con l. Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de abstraccin.

Encapsulacin
Los usuarios se dan cuenta de las operaciones que puede solicitar del objeto, pero desconocen los detalles de cmo se lleva a cabo la operacin. Todos los detalles especficos de los datos del objeto y la codificacin de sus operaciones estn fuera del alcance del usuario. El encapsulado, al separar el comportamiento del objeto de su implantacin, permite la modificacin de sta sin que se tengan que modificar las aplicaciones que lo utilizan.

Encapsulacin
Como se puede observar en el diagrama, las variables del objeto se localizan en el centro o ncleo del objeto. Los mtodos rodean y esconden el ncleo del objeto de otros objetos en el programa. Al empaquetamiento de las variables de un objeto con la proteccin de sus mtodos se le llama encapsulamiento. Tpicamente, el encapsulamiento es utilizado para esconder detalles de la puesta en prctica no importantes de otros objetos. Entonces, los detalles de la puesta en prctica pueden cambiar en cualquier tiempo sin afectar otras partes del programa.

Encapsulacin
El encapsulamiento de variables y mtodos provee dos principales beneficios a los desarrolladores de software: Modularidad: El cdigo fuente de un objeto puede ser escrito, as como darle mantenimiento, independientemente del cdigo fuente de otros objetos. As mismo un objeto puede ser transferido alrededor del sistema sin alterar su estado y conducta. Ocultamiento de la informacin: Un objeto tiene una "interfaz pblica" que otros objetos pueden utilizar para comunicarse con l. Pero el objeto puede mantener informacin y mtodos privados que pueden ser cambiados en cualquier tiempo sin afectar a los otros objetos que dependan de ello.

Independencia de la Representacion

Вам также может понравиться