lunes, 11 de febrero de 2008

Programación orientada a objetos (una mirada inicial)

El paradigma de la programación orientada a objetos busca facilitar el proceso de creación de aplicaciones, mediante el uso del concepto de clasificación y objeto que todos usamos desde que somos niños.

Este paradigma se basa en el hecho de que en el universo todo lo que vemos o persivimos se asume como objeto (las estrellas son objetos, los carros que vemos en las avenidas de las grandes ciudades son objetos, los perros y gatos son objetos, tu celular es un objeto, tu eres un objeto....) existe además la idea de que la unión de varios objetos pueden generar un nuevo objeto.....

tales objetos se pueden agrupar, de acuerdo a sus características y uso en clases. Así que un objeto no es más que una instancia de una clase, por ejemplo: Carlos es un hombre por lo tanto Hombre es una clase y Carlos es una instancia de esa clase.


Entonces, en resumen, en la programación orientada a objetos existen Clases y Objetos que se clasifican de acuerdo a la clase que pertenecen.

Las Clases son un instrumeto por el cual se puede clasificar uno o varios objetos
Los Objetos son todo aquello que es clasificable por una Clase...

Normalmente una clase en programación tiene una composición típica así:

Nombre de la clase: Normalmente es un sustantivo y empieza con Mayúscula

Atributos: Son las características que deben tener los objetos que pertenezcan a la clase. Son sustantivos y/o adjetivos, normalmente empiezan con minúscula so por ejemplo:
color, nombreUsuario, identificacion, telefono, etc. Nótese que en el caso de que un atributo requiera tener varias palabras siempre la primera letra de cada una empieza con mayúscula, a excepción de la primera...

Métodos: Son por lo general verbos e indican las cosas que PUEDE HACER un objeto de esa clase. por ejemplo si tenemos la clase Perro, podemos tener métodos como ladrar() o comer() en esa clase, Nótese la forma como se representa un método, con parentesis al final, esto es una simbología en programación que representa una función, así los métodos son realmente funciones...


Un objeto puede verse como una caja negra con botones (algo así como un equipo de sonido), dentro de la caja se encuentran toda serie de elementos (atributos y métodos) que son para el usuario PRIVADOS pero los botones de esa caja, métodos PÚBLICOS, permiten cambiar el comportamiento de estos atributos y métodos.


Hablemos de los métodos
Una función o método es un grupo de procesos que al final de su ejecución permiten dar un resultado,
Los métodos en realidad realizan diversos procesos en los que frecuentemente se utilizan los atributos de la clase a la que pertenecen.

Los métodos (funciones) son como el proceso que ocurre dentro de las máquinas de moler:
Los métodos solo son las acciones que puede realizar un objeto de una clase específica, así que la función en este caso se podría llamar moler() y pertenecería a la clase Molino
moler() tendría como retorno (return) la masa para hacer arepas :)

Cuáles son los atributos de Molino?
Se pueden usar los siguientes atributos para nuestra clase Molino:
nombre
dueño
altura
ancho
capacidadDelVaso
color
marca
referencia

Así siempre que tengamos un objeto de la clase Molino, podríamos definir cosas como:
su nombre (molino de la casa, el molino de la abuela, mi molino, etc.)
de quien es (es de mi mamá, de mi papá, es de Roberto, etc.)
cuales su altura (40cm, 50 cm, etc.)
cual es us ancho(25cm,...)
cual es su capacidad en su vaso (medio litro, un cuarto de litro, etc.)
Cual es su color (Plateado, cobre, etc.)
Cual es su marca (oster, philips, etc.)
Cual es su referencia (ajk34542 que es la que da la empresa fabricante...)

Adicionalmente a los métodos que representan las acciones posibles se añaden un método constructor y unos métodos conocidos como los get y set por cada atributo.

El método constructor busca inicializar los valores de los atributos en el momento mismo de la creación de un objeto perteneciente a esa clase.

Los métodos get permiten ver el contenido de los valores de los atributos
Los métodos set permiten modificar los valores de los atributos.

¿Por qué se crean estos métodos get y set?
Porque los atributos son PRIVADOS, es decir solo pueden ser modificados por métodos dentro de la misma clase, mientras que los métodos get y set que se tienen por cada atributo, son públicos y pueden ser usados por fuera de la clase. Es decir, son como los botones de nuestro equipo de sonido que permiten aumentar o disminuir el volumen o cambiar de emisora, pero los que realmente hacen ese proceso son atributos y métodos ocultos para el usuario del equipo.

No hay comentarios: