You are on page 1of 11

TRABAJO COLABORATIVO 1 Grupo 301403_30

PRESENTADO POR:

ORLANDO DE JESUS POSADA 80364369

ADALBERTO VILLALBA RAMIREZ 82392179

PRESENTADO A:

Ing. Cesar Orlando Jiménez

Tutor

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PROGRAMA INGENIERIA ELECTRONICA PROGRAMACION ORIENTADA A OBJETOS 24 OCTUBRE 2013

lo difícil no es programar orientado a objetos sino programar bien. de manera que la forma de hacer las cosas puede ser diferente según el programador. no todas ellas son correctas. Los primeros avances metodológicamente ordenados. La POO no es difícil. . pero es una manera especial de pensar. 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. Aunque podamos hacer los programas de formas distintas. Programar bien es importante porque así nos podemos aprovechar de todas las ventajas de la POO.INTRODUCCION La programación orientación a objetos promete mejoras de amplio alcance en la forma de diseño. Dijstra y de forma menos teórica pero quizás con más impacto por Kernighan y Ritchie. fueron protagonizados principalmente por Wirth. a veces subjetiva de quien la programa.

. • Definir y proponer cambios en la mejora del planteamiento y solución de los programas. con una actitud tolerante hacia las ideas de los compañeros. • Mantener buenas relaciones con los miembros del grupo. • Elegir una estructura para los datos y codificar el programa en lenguaje JAVA. responsabilizándose de la consecución de los objetivos.OBJETIVOS • Organizar tareas colectivas aportando y superando las dificultades que se presenten.

mostrar la hora en minutos o sumar y restar horas. • ESTRUCTURA DE DATOS: Hora. 3. actualizar la hora y siendo más ambiciosos mostrar la hora en segundos. En la programación estructurada la estructura de datos es totalmente independiente de la parte funcional o procedimental.UNIDAD 1. CAPITULO 2. 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. Introducción: La orientación a objetos promete mejoras de amplio alcance en la forma de diseño. 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. minutos y segundos Características funcionales: Por ejemplo mostrar la hora. Mostrar hora. ¿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. Minutos. Mostrar hora en segundos. Resta Hora. 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. Sumar Hora. 2. Para que el objeto funcione se le debe enviar un mensaje adecuado. Introducción Y Elementos Básicos De Programación Orientada A Objetos (POO) 1. ¿Qué es un mensaje? Es el llamado que se hace a un objeto para que ejecute una de sus operaciones. Segundos • ESTRUCTURA FUNCIONAL: Leer hora. que sea identificado por el mismo objeto. 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. Características de datos: Por ejemplo hora. 1. Mostrar hora en minutos. desarrollo y mantenimiento del software ofreciendo una solución a largo plazo a los .

sino que forma parte de una organización jerárquica o de otro tipo. ciclos de desarrollo largos y técnicas de codificación no intuitivas. el programa cambia. 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. 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. Básicamente la POO permite a los programadores escribir software. que se corresponden con las estructuras de información que el programa trata.problemas y preocupaciones que han existido desde el comienzo en el desarrollo del software: la falta de portabilidad del código y reusabilidad. como los procedimientos que los manipulan. . un objeto no es un dato simple. Si en algún punto del programa modificamos la estructura de los datos o la acción realizada sobre ellos. Dado que la POO. Flexibilidad: Al tener relacionados los procedimientos que manipulan los datos con los datos a tratar. En segundo lugar. Esta definición especifica varias propiedades importantes de los objetos. código que es difícil de modificar. basado en clases y capaz de tener herencia de clases. están agrupados en clases. 2. El concepto de programación orientada a objetos (POO) no es nuevo. Podemos definir un objeto como un conjunto complejo de datos y programas que poseen una estructura y forman parte de una organización. Comprensión: Tanto los datos que componen los objetos. En primer lugar. cada objeto no es un ente aislado. 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. Muchos de los lenguajes pueden cumplir uno o dos de estos puntos. de forma que esté organizado en la misma manera que el problema que trata de modelar. como su nombre lo indica. Un lenguaje se dice que está basado en objetos si soporta como una característica fundamental del mismo. Un lenguaje orientado a objetos ataca estos problemas. 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. el objeto. lenguajes clásicos como SmallTalk se basan en ella. pero es muy difícil que se cumplan los tres. cualquier cambio que se realice sobre ellos quedará reflejado automáticamente en cualquier lugar donde estos datos aparezcan. El elemento fundamental de la POO es. sino que contiene en su interior cierto número de componentes bien estructurados. el inconveniente más complicado de diseñar es la herencia. Tiene tres características básicas: debe estar basado en objetos.

• Mejor independencia e interoperatividad de la tecnología. • Reutilización. La lógica de la programación estructurada sigue siendo predominante en la mayoría de los desarrolladores de software. Las clases se construyen a partir de otras clases. Desventajas de la tecnología orientada a objetos. 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.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. 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. 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. 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. lo que produce aplicaciones muy grandes que no siempre encajan en los sistemas con los que se disponga. • Proceso de desarrollo apropiado. • Mejor informática distribuida en cliente – servidor. Limitaciones para el programador. después de haber revisado de forma breve los principios de la programación orientada a objetos. Tamaño excesivo en las aplicaciones resultantes. • Mejor calidad del producto de software terminado. • Mejores relaciones con los clientes. 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. • Desarrollo más flexible. 3. • Sistemas más fiables. • Bibliotecas de clases comerciales disponibles. De esta forma. • Modelos que reflejan mejor la realidad. .

Evolución de la programación Programación lineal. dando mayor seguridad en los resultados. diferentes programas utilizan. la subrutina se puede ejecutar simplemente incluyendo el nombre del programa siempre que se requiera. El modelo orientado a objetos evita la redundancia en los procesos luego los códigos son más entendibles y resumidos. COBOL Y FORTRAN) no tenían facilidad para reutilizar el código existente de programas. se necesita mucha disciplina para crear software bien estructurado. El soporte más elemental de la programación Modular llegó con la aparición de la subrutina. una vez que se ha definido. los lenguajes lineales no tenían capacidad de controlar la visibilidad de los elementos llamados datos.4. Una subrutina ha creado una secuencia de instrucciones a las que se les da un nombre independiente. es fácil escribir programas compilados y tortuosos difíciles de modificar y comprender. La Programación estructurada fija su atención en el conjunto de acciones que manipulan el flujo de datos. Aún más. Un modelo de objetos es más cercano a la realidad que un modelo funcional. Las subrutinas proporcionan una división natural de las tareas. Esto se conoce como una Abstracción funcional y es el núcleo de la programación estructurada. 5. Los programas se ejecutaban en secuencias lógicas. así como imposible de mantener. . mientras que la POO se fija en la interrelación que existe entre los datos y las acciones a realizar con ellos. Esta ha sido la panorámica durante muchos años en el desarrollo del software. Programación Estructurada. Aunque las subrutinas proporcionan el mecanismo básico de la programación Modular. La integridad que dan los objetos a los datos evita ambigüedades en su uso. Comparación entre la Programación orientada a Objetos y la programación estructurada. es suficiente conocer que un procedimiento sea fiable. haciendo la lógica difícil de comprender. El modelo orientado a objetos facilita la integridad de módulos que hayan sido realizados por separado sin correr riesgos en el manejo de los datos. Sin esta disciplina. Un desarrollo realizado con el modelo orientado a objetos es más fácil de mantener y de reutilizar. De hecho se duplicaban segmentos de software cada vez más en muchos programas. para que se pueda utilizar sin tener que conocer cómo funciona su interior. En un programa estructurado. El control de programas era difícil y se producían continuos saltos a lo largo del referido programa. Los lenguajes de programación lineal (BASIC. Programación Modular. Hoy casi todos los lenguajes de programación tienen construcciones que facilitan la programación estructurada. La Abstracción se puede definir como la capacidad de examinar algo sin preocuparse de los detalles internos.

Así se simplifican los diseños y se evita la duplicación de código al no tener que volver a codificar métodos ya implementados. al mismo nivel de abstracción.Capítulo 3. Del mismo modo. Estos módulos que se puedan compilar por separado. A pesar de particionar un programa es útil por esta razón. cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes. las funciones o los métodos pueden también ser abstraídos y cuando lo están. y los animales seres vivos. una variedad de técnicas son requeridas para ampliar una abstracción Encapsulación Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad. Estos límites. informar y cambiar su estado.. principalmente porque se suelen emplear conjuntamente. Al igual que la encapsulación. Por ejemplo. y “comunicarse" con otros objetos en el sistema sin revelar cómo se implementan estas características. . . y los mamíferos son animales.. Esto permite aumentar la cohesión de los componentes del sistema. pero que tienen conexiones con otros módulos. . . pero que tienen conexiones con otros módulos" Jerarquía La mayoría de las personas ve de manera natural nuestro mundo como objetos que se relacionan entre sí de una manera jerárquica. las distintas clases de un programa se organizan mediante la Jerarquía. Modularidad Se denomina Modularidad a la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos). La representación de dicha organización da lugar a los denominados Árboles de herencia: Mediante la herencia una clase hija puede tomar determinadas propiedades de una clase padre. Al acto de tomar propiedades de una clase padre se denomina heredar. o interfaces. Propiedades Básicas De La Programación Orientada a Objetos Abstracción: Cada objeto en el sistema sirve como modelo de un "agente “abstracto que puede realizar trabajo. los lenguajes soportan la Modularidad de diversas formas. un perro es un Mamífero. Según Bertrand Meyer "El acto de particionar un programa en componentes individuales para reducir su complejidad en algún grado. son muy valiosos en la comprensión del programa" Por su parte Bárbara Liskov establece que "modularización consiste en dividir un programa en módulos que pueden ser compilados de forma separada. Los procesos. Algunos autores confunden este concepto con el principio de ocultación. una justificación más poderosa para particionar un programa es que crea una serie de límites bien definidos y documentados en el programa.

las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos. pueden compartir el mismo nombre. Algunos lenguajes proporcionan medios más estáticos (en "tiempo de compilación") de polimorfismo. asociados a objetos distintos. tales como las plantillas y la sobrecarga de operadores de C++ . Cuando esto ocurre en "tiempo de ejecución". y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado.Polimorfismo Comportamientos diferentes. esta última característica se llama Asignación tardía o asignación dinámica. al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O dicho de otro modo.

el objetos con sus atributos y sus funciones a realizar .Conclusiones La gran cantidad de información referente a POO es muy variada de actual hasta muy desactualizada pero que interesa con la lógica y el entendimiento de todo lo teórico para realizar la práctica que sea aplicable pero en realidad no están cierto hay personas que poseen excelente teoría pero en la práctica en la ejecución en el copilar el programa no tiene o poseen la destreza y tener la capacidad en su elaboración su ejecución con la construcción de una clase.

html • Jiménez Angarita C.wikipedia.shtml Recuperado de http://www.vc. Recuperado de Lenguajes de programación.es/mikell/docencia/Programacion-II/Transparencias/2Gaia/T2ModularidadJava0607. O.pdf Recuperado de http://profesores.fi-b.lenguajes-de-programacion.mx/carlos/java/java_basico3_4.org/wiki/Modularidad_(inform%C3%A1tica) Recuperado de http://lsi. (2010) programación orientada a objetos. Universidad Nacional Abierta y a Distancia UNAD. http://www.com/doc/47777405/Conceptos-fundamentales-de-la-POO Recuperado de http://es.net/wiki/Modularidad-(programacion-orientada-a-objetos) Recuperado de http://es.scribd.REFERENCIAS BIBLIOGRAFICAS Recuperado de http://es.org/contenidos/es/introduccrion_a_la_programacrion_orien tada_a_objet/ 17 ..javahispano.cyclopaedia.com/programacion-estructurada.ehu.unam.