miércoles, 10 de agosto de 2011

¿QUÉ ES UN OBJETO?

Un objeto no es más que un conjunto de variables (o datos) y métodos (o funciones)
relacionados entre sí. Los objetos en programación se usan para modelar objetos o
entidades del mundo real (el objeto hijo, madre, o farmacéutica, por ejemplo). Un objeto
es, por tanto, la representación en un programa de un concepto, y contiene toda la
información necesaria para abstraerlo: datos que describen sus atributos y operaciones
que pueden realizarse sobre los mismos. La siguiente figura muestra una representación
visual de un objeto.
Representación visual de un objeto 6
Los atributos del objeto (estado) y lo que el objeto puede hacer (comportamiento) están
expresados por las variables y los métodos que componen el objeto respectivamente.
Por ejemplo, un objeto que modelase una bicicleta en el mundo real tendría variables
que indicararían el estado actual de la bicicleta: su velocidad es de 20 km/h, su cadencia
de pedaleo 90 r.p.m. y su marcha actual es la 5ª. Estas variables se conocen
formalmente como variables instancia o variables miembro porque contienen el estado
de un objeto bicicleta particular y, en programación orientada a objetos, un objeto
particular se denomina una instancia.
Además de estas variables, el objeto bicicleta podría tener métodos para frenar, cambiar
la cadencia de pedaleo, y cambiar de marcha (la bicicleta no tendría que tener un
método para cambiar su velocidad pues ésta es función de la cadencia de pedaleo, la
marcha en la que está y de si los frenos están siendo utilizados o no, entre otros muchos
factores). Estos métodos se denominan formalmente métodos instancia o métodos
miembro, ya que cambian el estado de una instancia u objeto bicicleta particular. La
siguiente figura muestra una bicicleta modelada como un objeto:

El diagrama del objeto bicicleta muestra las variables objeto en el núcleo o centro del
objeto y los métodos rodeando el núcleo y protegiéndolo de otros objetos del programa.
Este hecho de empaquetar o proteger las variables miembro con los métodos miembro
se denomina encapsulación. Este dibujo conceptual que muestra el núcleo de variables
miembro del objeto protegido por una membrana protectora de métodos o funciones
miembro es la representación ideal de un objeto y es el ideal que los programadores de
Bicicleta modelada como
un objeto:
Atributos:
 Velocidad
 Cadencia
 Marcha
Métodos:
 Cambiar marcha
 Frenar
 Cambiar cadencia7
objetos suelen buscar. Sin embargo, debemos matizarlo. A menudo, por razones
prácticas, es posible que un objeto desee exponer alguna de sus variables miembro, o
proteger otras de sus propios métodos o funciones miembro. Por ejemplo, Java permite
establecer 4 niveles de protección de las variables y de las funciones miembro para
casos como éste. Los niveles de protección determinan qué objetos y clases pueden
acceder a qué variables o a qué métodos.
De cualquier forma, el hecho de encapsular las variables y las funciones miembro
relacionadas proporciona dos importantes beneficios a los programadores de
aplicaciones:
 Capacidad de crear módulos: El código fuente de un objeto puede escribirse y
mantenerse independiente del código fuente del resto de los objetos. De esta
forma, un objeto puede pasarse fácilmente de una parte a otra del programa.
Podemos dejar nuestra bicicleta a un amigo, y ésta seguirá funcionando.
 Protección de información: Un objeto tendrá una interfaz pública
perfectamente definida que otros objetos podrán usar para comunicarse con él.
De esta forma, los objetos pueden mantener información privada y pueden
cambiar el modo de operar de sus funciones miembros sin que esto afecte a otros
objetos que usen estas funciones miembro. Es decir, no necesitamos entender
cómo funciona el mecanismo de cambio de marcha para hacer uso de él.

No hay comentarios:

Publicar un comentario