Programacion orientada a objetos

¿Que es un objeto? Una silla, una mesa, una computadora, una casa. Todos los elementos tangentes en el mundo son objetos pero ademas podemos pensar en los numeros como objetos, las ideas, los modelos y cualquier abstraccion mental que se conciba. Para efectos practicos diremos que un objeto es un ente, ya sea fisico o mental, que puede tener propiedades (forma, tamaño, cantidad), estado (vivo, cerrado, marcado) y acciones (correr, pintar, sumar).

Al referirnos a la programacion basada en objetos nos referimos a una forma de programar. No es un lenguaje, no es una caracteristica, no es una plataforma. Es una filosofia propiamente y nos indica la manera en que podemos abstraer nuestras ideas para programar. La programacion es un modelo abstracto del mundo en el que se trate de resolver un problema especifico, el cual puede ser un problema fisico o abstracto.

Un ejemplo muy simple es un sistema que resuelva problemas matematicos, primer objetivo de la computacion. Aqui nuestro modelo debe definir lo que es un numero, la notacion algebraica, un analizador lexicografico para las expresiones y algunas otras partes como serian la parte publica ya sea una CLI o una GUI ( Console Line Interface y Graphic User Interface respectivamente), soporte para ficheros, etc. Todo esto en una forma tradicional seria un monton de bloques de codigo corriendo en forma lineal siguiento un diagrama de flujo, el cual ejecuta cada bloque basandose en tomas de decisiones. Al encontrar un bloque de condicion puede tener 2 rutas posibles, una para cuando se cumple la condicion y otra cuando no.

Un codigo ejecuta segun un diagrama de flujo puede ser facil cuando las funciones son pequeñas y las tomas de decisiones son pocas, como en el caso de una sumadora ( solo sumar, no realizar otras funciones). Sin embargo al entrar a un ambiente mas complejo, como un analizador algebraico complejo. Es en estos casos cuando la forma de trabajar con objetos empieza a cobrar importancia. Gracias a la programacion orientada a objetos podemos conectar los bloques de codigo a estado del objeto.  Asi no debemos pasar tras un largo proceso de toma de decisiones antes de responder a la peticion de una funcion. Ademas de esta ventaja los objetos tambien poseen propiedades las cuales nos ayudan a tomar decisiones dentro del codigo que usamos ya que cada objeto cuenta con un grupo unico de propiedades que pertenecen exclusivamente al objeto y metodos que son funciones que permiten realizar acciones con los objetos. Un manejo de estas caracteristicas se realiza usando UML.

UML es un lenguaje de modelado que nos permite ver la estructura de los objetos y su relacion. Asi en cada caso concreto podemos dibujar un esquema de los objetos a usar, luego programar un poco y retocar los objetos una vez que se tiene en funcionamiento el modelo. A partir de aqui veremos como se maneja el UML y terminaremos de conocer lo que es la programacion orientada a objetos desde un punto de vista mas practico.

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