Está en la página 1de 11

TRABAJO COLABORATIVO 1 Grupo 301403_30

PRESENTADO POR:

ORLANDO DE JESUS POSADA 80364369

ADALBERTO VILLALBA RAMIREZ 82392179

PRESENTADO A:

Ing. Cesar Orlando Jimnez

Tutor

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

INTRODUCCION
La programacin orientacin a objetos promete mejoras de amplio alcance en la forma de diseo, desarrollo y mantenimiento del software ofreciendo una solucin a largo plazo a los problemas y preocupaciones que han existido desde el comienzo en el desarrollo del software, Los primeros avances metodolgicamente ordenados, fueron protagonizados principalmente por Wirth, Dijstra y de forma menos terica pero quizs con ms impacto por Kernighan y Ritchie. La POO no es difcil, 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 segn el programador. Aunque podamos hacer los programas de formas distintas, no todas ellas son correctas, lo difcil 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 compaeros. Mantener buenas relaciones con los miembros del grupo, responsabilizndose de la consecucin 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 solucin de los programas.

UNIDAD 1. INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS Captulo 1 Conceptos Bsicos Orientado a Objetos Cada objeto tiene un conjunto de caractersticas o atributos que lo hacen diferente a los dems. 1. Podramos hacer la representacin de un objeto del mundo real? Desde el punto de vista computacional es posible representar lgicamente cualquier objeto del mundo real. Para una solucin software un objeto es un elemento especial de informacin 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 programacin estructurada la estructura de datos es totalmente independiente de la parte funcional o procedimental; es ms podramos afirmar que lo nico estructurado en la programacin estructurada son los procedimientos pero los datos estn muy aislados. 2. Caractersticas de datos: Por ejemplo hora, minutos y segundos Caractersticas funcionales: Por ejemplo mostrar la hora, actualizar la hora y siendo ms 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. Introduccin Y Elementos Bsicos De Programacin Orientada A Objetos (POO) 1. Introduccin: La orientacin a objetos promete mejoras de amplio alcance en la forma de diseo, desarrollo y mantenimiento del software ofreciendo una solucin a largo plazo a los

problemas y preocupaciones que han existido desde el comienzo en el desarrollo del software: la falta de portabilidad del cdigo y reusabilidad, cdigo que es difcil de modificar, ciclos de desarrollo largos y tcnicas de codificacin no intuitivas. Un lenguaje orientado a objetos ataca estos problemas. Tiene tres caractersticas bsicas: 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 difcil que se cumplan los tres, el inconveniente ms complicado de disear es la herencia. El concepto de programacin orientada a objetos (POO) no es nuevo, lenguajes clsicos 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 resolucin del problema se realiza en trminos de objetos. Un lenguaje se dice que est basado en objetos si soporta como una caracterstica 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 organizacin. Esta definicin especifica varias propiedades importantes de los objetos. En primer lugar, un objeto no es un dato simple, sino que contiene en su interior cierto nmero de componentes bien estructurados. En segundo lugar, cada objeto no es un ente aislado, sino que forma parte de una organizacin jerrquica o de otro tipo. Bsicamente 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 programacin convencionales son poco ms que una lista de acciones a realizar sobre un conjunto de datos en una determinada secuencia. Si en algn punto del programa modificamos la estructura de los datos o la accin realizada sobre ellos, el programa cambia. 2. Ventajas de POO Uniformidad: Ya que la representacin de los objetos lleva implica tanto el anlisis como el diseo y la codificacin de los mismos. Comprensin: Tanto los datos que componen los objetos, como los procedimientos que los manipulan, estn agrupados en clases, que se corresponden con las estructuras de informacin 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 automticamente 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 nocin de objeto permite que programas que traten las mismas estructuras de informacin 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 combinacin de objetos ya definidos donde estos estn relacionados de una manera particular. Reutilizacin. Las clases se construyen a partir de otras clases. Sistemas ms fiables. Proceso de desarrollo apropiado. Desarrollo ms flexible. Modelos que reflejan mejor la realidad. Mejor independencia e interoperatividad de la tecnologa. Mejor informtica 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 tecnologa orientada a objetos. Limitaciones para el programador. La lgica de la programacin estructurada sigue siendo predominante en la mayora de los desarrolladores de software, despus de haber revisado de forma breve los principios de la programacin orientada a objetos, nos es claro que en sta se requiere una lgica de pensamiento totalmente diferente a la lgica comnmente utilizada para la programacin estructurada. Tamao excesivo en las aplicaciones resultantes. La gran mayora de los equipos de cmputo cuentan con capacidades tanto de almacenamiento como de memoria lo suficientemente buena como para ejecutar la mayora de las aplicaciones que puedan desarrollarse con la tecnologa 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 implcita 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 ejecucin. Una aplicacin innecesariamente pesada en muchas ocasiones es ms lenta de ejecutar que una aplicacin conformada nicamente por los mdulos necesarios.

4. Evolucin de la programacin Programacin lineal. Los lenguajes de programacin lineal (BASIC, COBOL Y FORTRAN) no tenan facilidad para reutilizar el cdigo existente de programas. De hecho se duplicaban segmentos de software cada vez ms en muchos programas. Los programas se ejecutaban en secuencias lgicas, haciendo la lgica difcil de comprender. El control de programas era difcil y se producan continuos saltos a lo largo del referido programa. An ms, los lenguajes lineales no tenan capacidad de controlar la visibilidad de los elementos llamados datos. Programacin Modular. El soporte ms elemental de la programacin Modular lleg con la aparicin 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 divisin natural de las tareas; diferentes programas utilizan. Aunque las subrutinas proporcionan el mecanismo bsico de la programacin Modular, se necesita mucha disciplina para crear software bien estructurado. Sin esta disciplina, es fcil escribir programas compilados y tortuosos difciles de modificar y comprender, as como imposible de mantener. Esta ha sido la panormica durante muchos aos en el desarrollo del software. Programacin Estructurada. La Abstraccin se puede definir como la capacidad de examinar algo sin preocuparse de los detalles internos. En un programa estructurado, es suficiente conocer que un procedimiento sea fiable, para que se pueda utilizar sin tener que conocer cmo funciona su interior. Esto se conoce como una Abstraccin funcional y es el ncleo de la programacin estructurada. Hoy casi todos los lenguajes de programacin tienen construcciones que facilitan la programacin estructurada. 5. Comparacin entre la Programacin orientada a Objetos y la programacin estructurada. La Programacin estructurada fija su atencin en el conjunto de acciones que manipulan el flujo de datos, mientras que la POO se fija en la interrelacin que existe entre los datos y las acciones a realizar con ellos. Un modelo de objetos es ms cercano a la realidad que un modelo funcional. Un desarrollo realizado con el modelo orientado a objetos es ms fcil de mantener y de reutilizar. El modelo orientado a objetos evita la redundancia en los procesos luego los cdigos son ms entendibles y resumidos. La integridad que dan los objetos a los datos evita ambigedades en su uso, dando mayor seguridad en los resultados. El modelo orientado a objetos facilita la integridad de mdulos que hayan sido realizados por separado sin correr riesgos en el manejo de los datos.

Captulo 3. Propiedades Bsicas De La Programacin Orientada a Objetos

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. Los procesos, las funciones o los mtodos pueden tambin ser abstrados y cuando lo estn, una variedad de tcnicas son requeridas para ampliar una abstraccin

Encapsulacin
Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstraccin. Esto permite aumentar la cohesin de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultacin, principalmente porque se suelen emplear conjuntamente.

Modularidad
Se denomina Modularidad a la propiedad que permite subdividir una aplicacin en partes ms pequeas (llamadas mdulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicacin en s y de las restantes partes. Estos mdulos que se puedan compilar por separado, pero que tienen conexiones con otros mdulos. Al igual que la encapsulacin, los lenguajes soportan la Modularidad de diversas formas. Segn Bertrand Meyer "El acto de particionar un programa en componentes individuales para reducir su complejidad en algn grado. . . . A pesar de particionar un programa es til por esta razn, una justificacin ms poderosa para particionar un programa es que crea una serie de lmites bien definidos y documentados en el programa. Estos lmites, o interfaces, son muy valiosos en la comprensin del programa" Por su parte Brbara Liskov establece que "modularizacin consiste en dividir un programa en mdulos que pueden ser compilados de forma separada, pero que tienen conexiones con otros mdulos"

Jerarqua La mayora de las personas ve de manera natural nuestro mundo como objetos que se relacionan entre s de una manera jerrquica. Por ejemplo, un perro es un Mamfero, y los mamferos son animales, y los animales seres vivos... Del mismo modo, las distintas clases de un programa se organizan mediante la Jerarqua. La representacin de dicha organizacin da lugar a los denominados rboles de herencia: Mediante la herencia una clase hija puede tomar determinadas propiedades de una clase padre. As se simplifican los diseos y se evita la duplicacin de cdigo al no tener que volver a codificar mtodos ya implementados. Al acto de tomar propiedades de una clase padre se denomina heredar.

Polimorfismo
Comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizar el comportamiento correspondiente al objeto que se est usando. O dicho de otro modo, 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 objeto referenciado. Cuando esto ocurre en "tiempo de ejecucin", esta ltima caracterstica se llama Asignacin tarda o asignacin dinmica. Algunos lenguajes proporcionan medios ms estticos (en "tiempo de compilacin") de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++

Conclusiones

La gran cantidad de informacin referente a POO es muy variada de actual hasta muy desactualizada pero que interesa con la lgica y el entendimiento de todo lo terico para realizar la prctica que sea aplicable pero en realidad no estn cierto hay personas que poseen excelente teora pero en la prctica en la ejecucin en el copilar el programa no tiene o poseen la destreza y tener la capacidad en su elaboracin su ejecucin con la construccin de una clase, el objetos con sus atributos y sus funciones a realizar

REFERENCIAS BIBLIOGRAFICAS

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

También podría gustarte