Pragramacion Orientada A Obetos Unidad 1
jhotalora4 de Mayo de 2013
3.269 Palabras (14 Páginas)307 Visitas
INTRODUCCION
La programación orientación a objetos promete mejoras de amplio alcance en la forma de diseño, desarrollo y mantenimiento del software ofreciendo una solución a largo plazo a los problemas y preocupaciones que han existido desde el comienzo en el desarrollo del software, Los primeros avances metodológicamente ordenados, fueron protagonizados principalmente por Wirth, Dijstra y de forma menos teórica pero quizás con más impacto por Kernighan y Ritchie.
La POO no es difícil, pero es una manera especial de pensar, a veces subjetiva de quien la programa, de manera que la forma de hacer las cosas puede ser diferente según el programador. Aunque podamos hacer los programas de formas distintas, no todas ellas son correctas, lo difícil no es programar orientado a objetos sino programar bien. Programar bien es importante porque así nos podemos aprovechar de todas las ventajas de la POO.
OBJETIVOS
• Organizar tareas colectivas aportando y superando las dificultades que se presenten, con una actitud tolerante hacia las ideas de los compañeros.
• Mantener buenas relaciones con los miembros del grupo, responsabilizándose de la consecución de los objetivos.
• Elegir una estructura para los datos y codificar el programa en lenguaje JAVA.
• Definir y proponer cambios en la mejora del planteamiento y solución de los programas.
UNIDAD 1. INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS
Capítulo 1 Conceptos Básicos Orientado a Objetos
Cada objeto tiene un conjunto de características o atributos que lo hacen diferente a los demás.
1. ¿Podríamos hacer la representación de un objeto del mundo real?
Desde el punto de vista computacional es posible representar lógicamente cualquier objeto del mundo real. Para una solución software un objeto es un elemento especial de información que se construye a partir de una estructura de datos y una estructura funcional.
La estructura funcional opera directamente sobre la estructura de datos y esta a su vez solo puede ser manipulada por la estructura funcional del mismo objeto.
En la programación estructurada la estructura de datos es totalmente independiente de la parte funcional o procedimental; es más podríamos afirmar que lo único estructurado en la “programación estructurada” son los procedimientos pero los datos están muy aislados.
2. Características de datos:
Por ejemplo hora, minutos y segundos
Características funcionales: Por ejemplo mostrar la hora, actualizar la hora y siendo más ambiciosos mostrar la hora en segundos, mostrar la hora en minutos o sumar y restar horas.
• ESTRUCTURA DE DATOS: Hora, Minutos, Segundos
• ESTRUCTURA FUNCIONAL: Leer hora, Mostrar hora, Mostrar hora en segundos, Mostrar hora en minutos, Sumar Hora, Resta Hora.
3. ¿Qué es un mensaje?
Es el llamado que se hace a un objeto para que ejecute una de sus operaciones. Para que el objeto funcione se le debe enviar un mensaje adecuado, que sea identificado por el mismo objeto.
CAPITULO 2. Introducción Y Elementos Básicos De Programación Orientada A Objetos (POO)
1. Introducción:
La orientación a objetos promete mejoras de amplio alcance en la forma de diseño, desarrollo y mantenimiento del software ofreciendo una solución a largo plazo a los problemas y preocupaciones que han existido desde el comienzo en el desarrollo del software: la falta de portabilidad del código y reusabilidad, código que es difícil de modificar, ciclos de desarrollo largos y técnicas de codificación no intuitivas.
Un lenguaje orientado a objetos ataca estos problemas. Tiene tres características básicas: debe estar basado en objetos, basado en clases y capaz de tener herencia de clases. Muchos de los lenguajes pueden cumplir uno o dos de estos puntos, pero es muy difícil que se cumplan los tres, el inconveniente más complicado de diseñar es la herencia.
El concepto de programación orientada a objetos (POO) no es nuevo, lenguajes clásicos como SmallTalk se basan en ella. Dado que la POO, se basa en la idea natural de la existencia de un mundo lleno de objetos y que la resolución del problema se realiza en términos de objetos. Un lenguaje se dice que está basado en objetos si soporta como una característica fundamental del mismo.
El elemento fundamental de la POO es, como su nombre lo indica, el objeto.
Podemos definir un objeto como un conjunto complejo de datos y programas que poseen una estructura y forman parte de una organización. Esta definición especifica varias propiedades importantes de los objetos. En primer lugar, un objeto no es un dato simple, sino que contiene en su interior cierto número de componentes bien estructurados. En segundo lugar, cada objeto no es un ente aislado, sino que forma parte de una organización jerárquica o de otro tipo.
Básicamente la POO permite a los programadores escribir software, de forma que esté organizado en la misma manera que el problema que trata de modelar. Los lenguajes de programación convencionales son poco más que una lista de acciones a realizar sobre un conjunto de datos en una determinada secuencia. Si en algún punto del programa modificamos la estructura de los datos o la acción realizada sobre ellos, el programa cambia.
2. Ventajas de POO
Uniformidad: Ya que la representación de los objetos lleva implica tanto el análisis como el diseño y la codificación de los mismos.
Comprensión: Tanto los datos que componen los objetos, como los procedimientos que los manipulan, están agrupados en clases, que se corresponden con las estructuras de información que el programa trata.
Flexibilidad: Al tener relacionados los procedimientos que manipulan los datos con los datos a tratar, cualquier cambio que se realice sobre ellos quedará reflejado automáticamente en cualquier lugar donde estos datos aparezcan.
Estabilidad: Dado que permite un tratamiento diferenciado de aquellos objetos que permanecen constantes en el tiempo sobre aquellos que cambian con frecuencia permite aislar las partes del programa que permanecen inalterables en el tiempo.
Reusabilidad: La noción de objeto permite que programas que traten las mismas estructuras de información reutilicen las definiciones de objetos empleadas en otros programas e incluso los procedimientos que los manipulan. De esta forma, el desarrollo de un programa puede llegar a ser una simple combinación de objetos ya definidos donde estos están relacionados de una manera particular.
• Reutilización. Las clases se construyen a partir de otras clases.
• Sistemas más fiables.
• Proceso de desarrollo apropiado.
• Desarrollo más flexible.
• Modelos que reflejan mejor la realidad.
• Mejor independencia e interoperatividad de la tecnología.
• Mejor informática distribuida en cliente – servidor.
• Bibliotecas de clases comerciales disponibles.
• Mejores relaciones con los clientes.
• Mejor calidad del producto de software terminado.
3. Desventajas de la tecnología orientada a objetos.
Limitaciones para el programador. La lógica de la programación estructurada sigue siendo predominante en la mayoría de los desarrolladores de software, después de haber revisado de forma breve los principios de la programación orientada a objetos, nos es claro que en ésta se requiere una lógica de pensamiento totalmente diferente a la lógica comúnmente utilizada para la programación estructurada.
Tamaño excesivo en las aplicaciones resultantes. La gran mayoría de los equipos de cómputo cuentan con capacidades tanto de almacenamiento como de memoria lo suficientemente buena como para ejecutar la mayoría de las aplicaciones que puedan desarrollarse con la tecnología orientada a objetos, sin embargo existen casos en los que lo anterior no se cumple.
Heredan clases a partir de clases existentes se heredan de forma implícita todos los miembros de dicha clase aun cuando no todos se necesiten, lo que produce aplicaciones muy grandes que no siempre encajan en los sistemas con los que se disponga.
Velocidad de ejecución. Una aplicación innecesariamente pesada en muchas ocasiones es más lenta de ejecutar que una aplicación conformada únicamente por los módulos necesarios.
4. Evolución de la programación
Programación lineal. Los lenguajes de programación lineal (BASIC, COBOL Y FORTRAN) no tenían facilidad para reutilizar el código existente de programas. De hecho se duplicaban segmentos de software cada vez más en muchos programas. Los programas se ejecutaban en secuencias lógicas, haciendo la lógica difícil de comprender. El control de programas era difícil y se producían continuos saltos a lo largo del referido programa. Aún más, los lenguajes lineales no tenían capacidad de controlar la visibilidad de los elementos llamados datos.
Programación Modular. El soporte más elemental de la programación Modular llegó con la aparición de la subrutina. Una subrutina ha creado una secuencia de instrucciones a las que se les da un nombre independiente; una vez que se ha definido, la subrutina se puede ejecutar simplemente incluyendo el nombre del programa siempre que se requiera. Las subrutinas proporcionan una división natural de las tareas; diferentes programas utilizan. Aunque las subrutinas proporcionan el mecanismo básico de la programación Modular, se necesita mucha disciplina para crear software bien estructurado. Sin esta disciplina, es fácil escribir programas compilados y tortuosos difíciles de modificar y comprender, así como imposible
...