sábado, 9 de noviembre de 2013

Programación OO - Objeto

Objetos.

 

El concepto objeto es fundamental en la programación OO, por lo cual se explica a continuación.

 

Definición de objeto:

 

"Un objeto tiene estado, comportamiento, e identidad; la estructura y comportamiento de objetos similares son definidos en su clase común; los terminos instancia y objeto son intercambiables".
Booch, 1991
" Nosotros definimos un objeto como un concepto, abstracción o cosa con un significado y límites bien definidos para el problema a manejar".
Rumbaugh, 1991
" Un objeto es cualquier cosa a la que se le aplica un concepto, el que representa una idea o noción que nosotros compartimos y aplicable a ciertos objetos en nuestro conocimiento".
Martin, 1992

De las definiciones anteriores se puede determinar que un objeto es:




Los conceptos de estado, comportamiento e identidad, son explicados a continuación con algunos ejemplos sencillos para facilitar su comprensión.

 

Estado


El estado hace referencia a los valores presentes en el conjunto de atributos de un objeto. El estado es variable en el tiempo, el comportamiento de un objeto puede cambiar el estado del mismo. 

Por ejemplo imagine un objeto círculo, con un atributo nombrado “radio”. Ahora observe la figura, el objeto circulo en un tiempo t determinado tiene 5 como valor del atributo radio, sin embargo en un tiempo t diferente el valor del atributo radio cambia por 3, tratándose del mismo objeto en tiempos t diferentes. 



Comportamiento


El comportamiento de un objeto, agrupa las operaciones que este puede realizar o a las que puede responder mediante estímulos externos representados en forma de mensajes enviados por otros objetos. Las operaciones pueden tener efecto directo sobre los atributos. 

Ahora teniendo como base la figura anterior donde se muestran los círculos, imagine la operación calcular área, esta operación deberá retornar el valor de la operación matemática PI * (radio * radio), donde radio es el valor de dicho atributo en ese instante de tiempo.

 

Identidad


La identidad es el mecanismo por el cual se puede diferenciar un objeto de otro, se puede tomar como un identificador univoco y es interesante cuando se tienen objetos con los valores de sus atributos iguales, la identidad es implementada en los lenguajes de programación de manera implícita, así que no es responsabilidad del programador crearla. Un ejemplo de ello son los OID o identificadores de objetos por sus siglas en ingles que proveen la identidad de un objeto independientemente de su ubicación física.

 

Clasificación de objetos según su comportamiento.


Los objetos según su comportamiento se pueden agrupar en 3 categorías que son:

  1. Actores
  2. Servidores
  3. Agentes

Los objetos Actores, son iniciadores de la interacción, son generalmente objetos activos.

Los objetos Servidores, por el contrario de los actores no son iniciadores de una interacción su función se limita a responder peticiones de otros objetos, siempre son destinatarios de los mensajes.

Los objetos Agentes, reúnen las características de clientes y servidores, los agentes pueden interactuar con otros objetos en todo momento bien sea por iniciativa propia o a consecuencia de una solicitud externa.

 

Comunicación entre objetos.


La unidad de comunicación entre objetos se denomina mensaje, existen 5 categorías de mensajes que son:

  1. Simple
  2. Síncrono
  3. Esperado
  4. Cronometrado
  5. Asíncrono

Los mensajes a su vez se componen de los siguientes componentes.

  1. Nombre del receptor del mensaje
  2. Método invocado
  3. Información necesaria para la ejecución del método

No hay comentarios:

Publicar un comentario