Programación Orientada a Objetos
Este articulo complementa algunas secciones del blog, sobre todo la del C++ y la de Java.
Durante otros articulos anteriores he hablado de la Programación Orientada a Objetos (POO), pero todavía no hemos comentado que es eso. Bien, hemos llegado al momento de intentarlo, eso si, como siempre, de una forma sencilla y sin adentrarnos mucho en el tema.
Si hay algo que no entiendes, no te me obsesiones, esto de la POO, al principio, no es sencillo de entender. Pero no debes preocuparte, todo llegará, y empezar a aprender a programar con la POO, no es la forma de empezar a programar. Cuando sepas, ya aprenderás la POO. Entonces… ¿ porque hablamos ahora de ello ? , muy sencillo, por lo menos intentaremos que, aunque sea de lejos, sepas que demonios es esto de la POO, como siempre, a título informativo. Vamos pues…
(por cierto, si no te has leído el capítulo 3, el de la Metodología, estaría bien que le hechases un ojo, al tema del Pseudocódigo y lo que sigue…)
La programación tradicional (la estructurada)
Es el tipo de programación que aprenderás al principio, y por ahora, la que mas te interesa.
En este tipo de programación se diferencia perfectamente entre los lugares de la memoria que utilizaremos para guardar datos internos de nuestro programa (variables…) por un lado, y las funciones de código, por el otro.
Se trabaja secuencialmente, se ejecuta un código, se salta a una función, esta a su vez puede llamar a otras funciones…
Este tipo de programación presenta un problema evidente, y es que cuando se hacen programas grandes (y como grandes quiero decir 25000 líneas de código o mas) estos son difíciles de mantener, así como de corregir y/o mejorar. ¿ Porque ? muy sencillo, imagínate coger un programa, que hiciste hace un par de años, con 30000 líneas de código… y que quiere mejorarle cualquier cosa. Te tocará ponerte a buscar para encontrar esa función que te falla, y luego comprobar que los retoques no afecten al resto del programa… en fin, puede resultar algo lioso.
La "nueva" forma de programar (la POO)
Bien, para arreglar y mejorar lo anterior, se impuso una nueva forma de programar -> La Programación Orientada a Objetos (POO). Veamos si consigo explicarme bien… para que te hagas a la idea, imagínate una pelota. Si si, una pelota normal y corriente. Si quisiéramos crear un programa de la forma tradicional (la comentada antes) tendríamos una función a la que le diríamos que dibujase una pelota, con el tamaño y color que le digamos. Hasta aquí bien, pero, ahora imagina que te pido que me dibujes una pelota de ping pong, una de tenis y una de fútbol. Si aplicamos la programación estructurada, crearemos 3 funciones, cada una encargada de dibujar su respectiva pelota… y aquí entra la POO. Hay que intentar reutilizar código, ya que tener una función para dibujar cada una de pelotas no es la solución, imagínate que nos dicen que dibujemos 200 pelotas distintas !!! Bien, en la POO, nos crearíamos un objeto, al que llamaríamos pelota (por ejemplo). Porque, seamos realistas, una pelota sea del deporte que sea, no deja ser una pelota, eso si, cada pelota tiene sus características, tales como el tamaño, el color, el peso … A partir de ese objeto, pelota, nosotros trabajaremos con él desde nuestro programa, primero asignándole la propiedades de dicha pelota (color, tamaño …), para finalmente dibujarla en pantalla.
Como puedes observar, en la POO se fusionan (por así decirlo) las funciones (que serán funciones propias de cada objeto) y las variables (que pasan a ser las propiedades de ese objeto).
Nosotros podemos crearnos nuestro propios Objetos (llamados también clases), pero también podremos usarnos de unos objetos ya existentes, por ejemplo, BeOS tiene toda su API escrita en C++ (en consecuencia, para la POO), con lo cual programar aplicaciones para ese S.O resulta sencillo… el ejemplo que decíamos antes de la pelota, apliquémoslo a la vida real, en BeOS existe (entre muchos otros) el objeto ventana, o sea, que para dibujar un ventana no habrá que meter un trozo de código, sino que asignaremos las propiedades de esa ventana (tales como el tamaño, la posición, el color, el título…) para finalmente dibujarla.
Por lo que yo modestamente he observado, BeOS es el Sistema Operativo que mas enfocado está a la POO, así mismo, en los lenguajes de programación, es Java el que se lleva la palma, aunque, tradicionalmente, se usa el C++.
Bueno, no quiero enrollarme ni taladrarte mas, ya que si no se sabe programar, cuesta explicar bien esto de la POO, pero, por lo menos, ahora ya puedes hacerte una ligera idea del tema. Para dominarlo a fondo, solo hay que dedicarle tiempo, como a todo, lo demás viene solo.
0 comentarios