ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Programacion Orientada A Objetos

juandiazlopez25 de Febrero de 2015

3.722 Palabras (15 Páginas)313 Visitas

Página 1 de 15

PROGRAMACIÓN ORIENTADA A OBJETOS

A partir de la década de los 70 se originó la llamada Crisis del Software debido a una serie de problemas encontrados en el desarrollo de sistemas para computadoras. La crisis también se derivó de la contradicción entre el reciente desarrollo del hardware y su aprovechamiento a través del software, esto es, que se dedicó poco esfuerzo al desarrollo de metodologías para la creación del software, creando un atraso de entre una y dos generaciones entre los microprocesadores y el software que los manipula.

Las a estos problemas fueron entre otras:

• Programaciones estructuradas en los lenguajes de programación.

• Modularidad y organización de bibliotecas.

Estas mejoras no fueron suficientes para resolver el problema ya que no se consideró:

• Recursos humanos para el mantenimiento consistente en adaptar el software a nuevos requerimiento imposibles de haber sido planificados inicialmente.

• Errores del software, esto es, resultados erróneos.

• Altos costos y tiempo de desarrollo muy largos.

1. El análisis era deficiente, lo cual derivaba cambios y adaptaciones.

2. Problemas de comunicación entre los diferentes módulos al momento de la unión.

• Sistemas poco flexibles y confiables.

1. Esto ocurre cuando el sistema no cubre las necesidades del usuario final.

2. No proporciona la información que el usuario requiere.

3. Información no confiable.

4. sistema difícil de manipular.

Ante tantos problemas, los especialistas en software llegaron a la conclusión de que en cualquier técnica que trate de resolver los problemas anteriores, el desarrollo de sistemas deberá contemplar las siguientes características:

• Entender el problema y dominarlo.

• Comunicación entre personas.

• Prever cambios continuos.

• Reutilizar el código.

Historia de la Programación Orientada a Objetos (POO).

Al mismo tiempo que se da la Crisis del Software, por otro lado la Orientación a Objetos (OO) se empezó a discutir a fines de los años 60 con el desarrollo del lenguaje SIMULA67 por Nygaard y Ole-Johan Dahl en el Centro de Cálculo Noruego, en él, introdujeron los conceptos de clase, subclases y rutinas, muy parecidos los conceptos a los lenguajes orientados a objetos de hoy en día. A mitad de la década de los 70 los científicos del Centro de Investigaciones Palo

Alto de XEROX (PARC) (XEROX Palo Alto Research Center) crearon el lenguaje SMALLTALK, el primer lenguaje orientado a objetos consistente y completo. En él cada elemento del lenguaje fue realizado un objeto. Este último lenguaje evolucionó a través de varios lanzamientos realizados por PARC.

A pesar de este movimiento temprano hacia los lenguajes orientados a objetos, sólo se lograron pequeñas incursiones en la comunidad de la programación general. El progreso reciente se ha acelerado debido principalmente a la disponibilidad de las extensiones orientadas a objetos para dos lenguajes populares:

C y PASCAL, y a las extensiones prometidas para otros lenguajes comerciales populares como BASIC y COBOL.

Paradigma de la Programación Orientada a Objetos.

Para aquel que no es un programador, Orientación a Objetos significa algo bastante familiar: considerar al mundo como un conjunto de entidades u objetos que están relacionados y se comunican entre ellos.

Esta es la forma en que la gente normal ve el mundo, así es que este pensamiento tiene intrínsecamente sentido.

La Orientación a Objetos se basa en estas ideas: un programa es un mundo que representa un subconjunto del mundo real. La estructura del programa se simplifica en gran medida si cada una de las entidades u objetos del problema que se está modelando corresponde directamente con un objeto que se puede manipular internamente en un programa.

Para el desarrollo de sistemas, la orientación a objetos es un nivel de abstracción de computadora más allá de los procedimientos y los datos. La orientación a objetos anima al desarrollador de sistemas a concentrarse en los temas importantes e ignorar el resto a la hora de la modelación.

El hecho de que el tema central sean los objetos, aunque intuitivamente, marca una desviación significativa de los anteriores paradigmas de la programación.

Una ecuación para reconocer una aproximación a la Orientación a Objetos es:

ORIENTACIÓN_OBJETOS = CLASES Y OBJETOS + HERENCIA + COMUNICACIÓN CON MENSAJES

Todos los sistemas que merecen la descripción de Orientado a Objetos contienen estos mecanismos esenciales, aunque los mecanismos pueden no estar realizados exactamente de la misma forma. Analicemos ahora los términos de la ecuación.

OBJETOS (Sinónimo de instancia). Es la abstracción de alguna cosa en el dominio del problema que refleja la capacidad de un sistema de alcanzar información alrededor de él. Los objetos, por lo tanto, son entidades que tienen atributos (datos) y formas de comportamiento (procedimientos) particulares. Las aplicaciones pueden constar de diferentes clases de objetos. Un objeto pasivo es el que actúa solamente bajo petición. Los objetos activos efectúan el seguimiento de los sucesos que ocurren en una aplicación y actúan de forma autónoma.

CLASE. Una clase es una descripción de un conjunto de objetos casi idénticos. Una clase consta de métodos y datos que resumen las características comunes de los objetos, incluyendo una descripción de cómo crear un nuevo objeto de la clase. En otras palabras, las clases contienen los anteproyectos para crear objetos.

Redefiniendo un objeto. Un objeto es un modelo o instancia de una clase.

Ejemplos de estos conceptos (utilizaremos un lenguaje más fácil de entender para definirlos):

Una clase es un molde que define los datos y procedimientos que actúan sobre esos datos y los objetos serán los elementos producidos por ese molde.

Ejemplo 1

Consideremos cómo un programador podría designar una aplicación de procesamiento de una posición en el espacio en forma orientada a objetos.

Clase Posición

Los objetos serían Punto A, Punto B donde tanto Punto A como Punto B tienen las características de posición.

Ejemplo 2:

Veamos ahora cómo sería la aplicación con el sistema de los números complejos en forma orientada a objetos.

Clase Complejos

Algunos objetos son p y q que por ser números complejos son de la forma (real, imaginaria).

Descripción del término herencia

La herencia es un mecanismo para expresar similaridad entre clases, simplificando definiciones de las clases similares previamente definidas. La herencia permite crear nuevas clases llamadas subclases agregando solamente las diferencias con la clase. En otras palabras la herencia es una partición en subclases más especializadas.

El principio en que se basa este concepto es de que las clases que se derivan de otra clase, comparten las características comunes de la clase de la que descienden.

Ejemplo 1:

Ejemplo 2:

Para este ejemplo usaremos la clase publicación.

Descripción del término comunicación con mensajes.

Los objetos tienen la posibilidad de actuar, la acción sucede cuando un objeto recibe un mensaje, que es, una solicitud que pide al objeto que se comporte de alguna forma. Cuando se ejecutan los programas orientados a objetos, los objetos reciben, interpretan y responden a mensajes procedentes de otros objetos. Los mensajes pueden contener información para clasificar una solicitud. El objeto emisor del mensaje no necesita conocer la forma en que el objeto receptor está llevando a cabo la solicitud, solamente conoce que se está sucediendo.

Los procedimientos residen en el objeto y determinan cómo actúa el objeto cuando recibe un mensaje. De hecho, los métodos proporcionan el único mecanismo para cambiar los valores de las variables del objeto. (A este hecho se le conoce como encapsulamiento).

Los mensajes que reciben el objeto son los únicos conductos que conectan al objeto con el mundo exterior. Estas características de los objetos confieren a la orientación a objetos su ventaja: la orientación a objetos fomenta la modularidad haciendo muy claras las fronteras entre objetos, explícita la comunicación entre los mismo y oculta los detalles de la realización.

En un programa con orientación a objetos ocurren tres sucesos:

1) Se crean los objetos cuando se necesitan.

2) Los mensajes se mueven de un objeto a otro a medida que el programa procesa internamente información o responde a la entrada de los usuarios.

3) Se borran los objetos cuando ya no son necesarios y se recupera memoria.

Características deseadas de la Programación Orientada a Objetos

Las características deseadas pueden variar y es difícil ponerse de acuerdo.

Principio de Abstracción

...

Descargar como (para miembros actualizados) txt (24 Kb)
Leer 14 páginas más »
Disponible sólo en Clubensayos.com