POO: Toma de contacto

Tras las presentaciones de rigor de ayer, hoy por fin tuve mi primera clase de Programación Orientada a Objetos (en adelante POO). Tenía muchas ganas de cojer esta materia porque por mi cuenta era práticamente incapaz de entender este paradigma de programación. Ahora por suerte lo veo un poco más claro 🙂 .

Esta primera clase ha servido para poner en contexto este enfoque orientado a “objetos”. Probablemente lo más interesante sea entender qué son eso de los objetos y para qué se usan; y lo cierto es que la explicación es mucho más sencilla de lo que uno se espera.
Pensemos por un momento en un lápiz. Las acciones que se pueden realizar con él serán: escribir, parar, afilar, borrar. En la programación orientada a objetos, estas acciones serán los métodos y se aglutinarán bajo su marco común: la clase lapiz.
¿Quiere esto decir que nuestro programa dispone de un lapiz? Aún no. Habrá que crear una instancia (objeto) de la clase lápiz.
En un símil con el ya conocido Pascal, podemos entender que:
Clases = Tipos de dato
Variables = Objetos (instancias)
Métodos = Funciones y procedimientos caracteristicos de una clase

Además, la programación orientada a objetos conlleva dos características:
– Herencia: Si de una clase genérica creamos una clase hija (por ejemplo, de la clase Lista creamos una clase hija llamada ListaOrdenada), ésta hereda las propiedades de aquella.
– Polimorfismo: Una subclase puede actuar como superclase (es decir, puede haber objetos de la clase ListaOrdenada) pero además hereda caracteristicas de las clases superiores que haya (por el principio de herencia).
Por lo tanto, llego a que un objeto que sea de la clase ListaOrdenada, tambien será compatible con los objetos de la clase Lista.

Por último, se debería salientar la mecánica “bottom-up” de desarrollo. En la programación tradicional, un programa se piensa en su totalidad y luego se descienden niveles de abstracción para programar las partes que lo componen por separado, centrándonos en una de ellas, volviendo a una visión general, bajando de nuevo a desarrollar otra… Esto se conoce como la metodología “Top-down” (típica metodología de programación imperativa).
La metodología “bottom-up” sin embargo construye el programa desde la base hacia un panorama general, siguiendo estos pasos:
1º Identificar las estructuras de datos del programa y las interacciones de los datos.
2º Crear las funciones que producen las salidas adecuadas.
3º El programa queda compuesto por una serie de objetos con un estado interno propio y que interactúan intercambiando mensajes.
Hay más información sobre esto en la Wikipedia: http://es.wikipedia.org/wiki/Top-down_y_Bottom-up.

Solo para terminar, me gustaría recomendaros a todos el siguiente libro, que me está siendo de gran ayuda:

Introducción a la programación con JAVA
Un enfoque orientado a objetos

David Arnow y Gerald Weiss
Adison Wesley, Pearson Educación
ISBN: 978 84 7829 033 8

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s