POO Poo o programación orientada a objetos más que nada es un modelo o ejemplo de programación que usa objetos en todas sus acciones, para construir aplicaciones o software. La programación orientada a objetos se utiliza en objetos como para los elementos fundamentales en la construcción de la solución. La POO surgió en los años 70. Las propiedades y los métodos comunes a los objetos se reúnen o se agrupan en clases. Una clase es una plantilla o un modelo para la creación o elaboración de objetos, por eso se dice que los objetos son instancias de clases. Las características que conforman a la Poo son tres la abstracción, el encapsulamiento, ocultamiento, principios de ocultación y polimorfismo. Lo interesante de la POO es que proporciona conceptos y herramientas con las cuales se modela y representa el mundo real tal como sea posible. Las características son las siguientes: *Abstracción Consiste en capturar las características esenciales de un objeto, tal como el comportamiento y las propiedades que lo conforman. Un claro ejemplo seria lo de los perros que vimos en clase, debemos buscar todas sus características iguales de lo que hacen o tienen cada uno, como podría ser ladrar, comer , morder, correr, pelo, raza y todo lo similar de lo que hacen. *Encapsulamiento Su labor de esta es unir en una misma clase todas las características, propiedades y sus reacciones, pero también se les denomina o se les conoce como variables y métodos. El encapsulamiento se logra gracias a la abstracción y el ocultamiento. Porque la abstracción captura y el ocultamiento oculta el interior. *Ocultamiento Es una característica de la POO, su función del ocultamiento es ocultar, cosas internas del comportamiento de una clase y solo mostrar los detalles necesarios en el sistema. Otra función del ocultamiento seria que nos permite prohibir y manipular el tipo y uso de la clase. Al manipular la clase no deja que otras clases accedan a ella y al manipular es porque ella es quien puede modificar nada más la clase. *Principio de ocultación Su labor es que otros objetos no puedan cambiar el estado interno de un objeto de manera inesperada, eliminando los efectos secundarios e interacciones inesperadas. También algunos lenguajes permiten un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de captura. *Polimorfismo Se caracteriza por sus comportamientos diferentes, asociados a objetos distintos, también pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento que le corresponde al objeto que se esté usando. Dicho de otra forma las referencias y las colecciones de objetos pueden contener objetos de distintos tipos y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto seleccionado. Cuando esto ocurre en tiempo de ejecución, esta característica se llama asignación tardía o asignación dinámica. Las principales ventajas de la POO son 8 las cuales nos permitirán fomentar la reutilización y extensión de los códigos, nos permitirá hacer o crear sistemas más complejos, relacionar el sistema con el mundo real, nos hará más fácil la creación de programas o aplicaciones visuales, hará mucho más rápido o agilizará el desarrollo del software, también facilitara el trabajo en equipo, hará que el trabajo sea más fácil. ¿Alguna forma para representar un modelado de clases? De una computadora que primero van sus atributos y después sus comportamientos que en pocas palabras los atributos serian lo que tienen en común o los que las conforman como podría ser numero serie, precio, fabricante, color, tipo de computadora y los comportamientos son lo que hacen en común como podría ser abrir programas, cerrar programas, apagarse etc. ¿Algún ejemplo del mundo real? Este ejemplo lo vimos en clase que eran normalmente objetos que tenemos del mismo tipo. Por ejemplo, nuestra computadora es sólo uno de los miles que hay en el mundo. Si nos referimos en términos de la POO, podemos estar diciendo que nuestra computadora es una solicitud de una clase conocida como "computadora" o depende de cual sea su clase. Las computadoras tienen características (sistema operativo, pantalla, teclado, marca, modelo, etc.) y comportamientos (abrir programas, transmisión de datos, reproducir sonidos o videos etc.). Este es uno de los tantos ejemplos que pueden existir. Lo que necesito aprender seria comprender todas las clases para no tener fallas al momento de programar con POO, y tratar de entender y aprender todo lo que se vea relacionado con POO en todos los lenguajes. Los lenguajes de programación que se utilizan en la POO son los siguientes: lenguaje de programación C++. En el año de 1995 apareció el lenguaje de Programación más reciente, que es el lenguaje Java que nosotros utilizamos este mismo fue desarrollado por SUN, que este tiene algunos conceptos del lenguaje de programación C++. El lenguaje más desarrollado y que es más extendido para aplicaciones Web, es el PHP 5, el cual trae todas las características necesarias para poder desarrollar software orientado a objetos. Ejemplo en código // metodo normal Import java.io.*; class ejemplo1 { Public static void main(String[ ] args) throws IOException { BufferedReader leer = new Buffered (new InputStreamReader [System.in)]; System.out.println(“Escribir el primer numero”); String a1 = leer.readLine(); //captura int a2 = Integer.parseInt (a1); //convierte System.out.println(“Escribe el Segundo numero”); String b1 = leer.readLine(); //captura int b2 = Integer.parseInt (b1); //convierte Int total = a2 + b2 ; //opera System.out.println(total); } } Referencias: Programación orientada a objetos. [En línea]. <http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos [fecha de consulta: 1001-2013]. POO. [En línea]. <http://java.ciberaula.com/articulo/tecnologia_orientada_objetos/ [fecha de consulta: 10-01-2013].