lunes, 10 de mayo de 2010

PARADIGMAS DE PROGRAMACION

Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno que otro sino que cada uno tiene ventajas y desventajas. También hay situaciones donde un paradigma resulta más apropiado que otro

PROGRAMACION ORIENTADA A OBJETOS

La programación orientada a objetos aporta un nuevo enfoque a los retos que se plantean en la programación estructurada cuando los problemas a resolver son complejos. Al contrario que la programación procedimental que enfatiza en los algoritmos, la POO enfatiza en los datos. En lugar de intentar ajustar un problema al enfoque procedimental de un lenguaje, POO intenta ajustar el lenguaje al problema.
La OOP son un conjunto de técnicas que nos permiten incrementar enormemente nuestro proceso de producción de software.
Aumenta drásticamente nuestra productividad por un lado y permitiéndonos abordar proyectos de mucha mayor envergadura.
Usando estas técnicas, nos aseguramos la reusabilidad de nuestro código, es decir, los objetos que hoy escribimos, si están bien escritos, nos servirán para "siempre".
En la OOP podemos re-usar ciertos comportamientos de un objeto, ocultando aquellos otros que no nos sirven, o redefinirlos para que los objetos se comporten de acuerdo a las nuevas necesidades.
Se intenta hacer abstracción de la implementación física del programa (memoria. . .) para representarlo a través de entidades, los objetos, que interactúan a través de demandas (mensajes) transmitidas para efectuar operaciones.





Objetos comunican entre ellos por mensajes y actúan según su “nivel de responsabilidad”; aceptan la responsabilidad de una tarea al recibir mensajes; pueden delegar trabajo a otras clases.


FUNDAMENTOS DE LA PROGRAMACION ORIENTADA A OBJETOS


CLASE: Abstracción que hacemos de nuestra experiencia sensible. (Agrupación, generalización, tipificación). Cada clase posee cualidades que la diferencian de las otras.


OBJETO: Un objeto podría ser real o abstracto, por ejemplo una organización, una factura, una figura en un graficador, una pantalla de usuario, un avión, un vuelo de avión, una reservación áerea. Es un conjunto de datos y métodos.


CARACTERISTICAS DE LA PROGRAMACION ORIENTADA A OBJETOS


ABSTRACCION: Corresponde a la determinación de las características de los objetos que sirven para identificarlos y hacerlos diferentes a los demás.
Propiedades de una descomposición útil:
· Todas las partes deben estar al mismo nivel
· Cada parte debe poder ser abordada por separado.
· La solución de cada parte debe poder unirse al resto para obtener la solución final


HERENCIA: Es la capacidad que poseen los objetos de “transmitir” los datos y métodos a sus hijos.
Esta es la cualidad más importante de la programación OOP. Al implementarla nos dará mayor potencia y productividad. Permite ahorrar horas y horas de codificación y de depuración de errores.


ENCAPSULACION: El encapsulado es el resultado de ocultar los detalles de implementación (estado interno) de un objeto respecto de su usuario. El empaque conjunto de datos y métodos se llama encapsulación.
El objeto esconde (protege) sus datos de los demás objetos y permite el acceso a los datos mediante sus propios métodos. Esto recibe el nombre de ocultamiento de información y evita la corrupción de los datos de un objeto.
Esto facilita el cambio (de implementación), mejora la modularidad.


POLIMORFISMO: Por polimorfismo entendemos aquella cualidad que poseen los objetos para responder de distinto modo ante el mismo mensaje. El polimorfismo nos facilita el trabajo ya que el nombre de los métodos que tenemos que recordar disminuye ostensiblemente.

PROGRAMACION ESTRUCTURADA

La programación estructurada consiste en escribir un programa de acuerdo con unas reglas y un conjunto de técnicas. Las reglas son: el programa tiene un diseño modular, los módulos son diseñados descendentemente, cada módulo de programa se codifica usando tres estructuras de control (secuencia, selección e iteración); es el conjunto de técnicas que han de incorporar: recursos abstractos; diseño descendente y estructuras básicas de control.
· Secuencia: Sucesión simple de dos o más operaciones.
· Selección: Bifurcación condicional de una o más operaciones.
· Interacción: Repetición de una operación mientras se cumple una condición.
Estos tres tipos de estructuras lógicas de control pueden ser combinados para producir programas que manejen cualquier tarea de procesamiento de información.
Descomponer un programa en términos de recursos abstractos consiste en descomponer acciones complejas en términos de acciones más simples capaces de ser ejecutadas en una computadora.
El diseño descendente se encarga de resolver un problema realizando una descomposición en otros más sencillos mediante módulos jerárquicos. El resultado de esta jerarquía de módulos es que cada módulo se refina por los de nivel más bajo que resuelven problemas más pequeños y contienen más detalles sobre los mismos.
Las estructuras básicas de control sirven para especificar el orden en que se ejecutarán las distintas instrucciones de un algoritmo. Este orden de ejecución determina el flujo de control del programa.


No hay comentarios:

Publicar un comentario