miércoles, 17 de octubre de 2012

Utilizar Objetos


Utilizar Objetos
Una vez que se ha creado un objeto, probablemente querrás hacer algo con él. Supón, por ejemplo, que después de crear un nuevo rectángulo, quieres moverlo a una posición diferente.

La clase Rectangle proporciona dos formas equivalente de mover el rectángulo:
  1. Manipular directamente las variables x e y del objeto que son accesibles desde otra clase.
  2. Llamar el método move() que es accesible desde otra clase.
La segunda opción se considera “más orientada a objetos” y más segura porque se manipula las variables de objeto indirectamente a través de una capa protectora de métodos, en vez de manejarlas directamente. Manipular directamente las variables de un objeto se considera propenso a errores; se podría colocar el objeto en un estado de inconsistencia.

Referenciar Variables de un Objeto
Primero enfoquemos cómo inspeccionar y modificar la posición del rectángulo mediante la manipulación directa de las variables x e y.

Para acceder a las variables de un objeto, sólo se tiene que añadir el nombre de la variable al objeto referenciado introduciendo un punto en el medio (‘.’)

objetoReferenciado.variable

Supón que tienes un rectángulo llamado rect en tu programa. Puedes acceder a las variables x e y con rect.x y rect.y, respectivamente.

rect.x = 15; // cambia la posición x
rect.y=37; // cambia la posicio y

Llamar a Métodos de un Objeto

Para llamar a un método de un objeto, simplemente se añade al nombre del objeto referenciado el nombre del método del objeto, separado por un punto (‘.’), y se proporcionan los argumentos del método entre paréntesis. Si el método no necesita argumento, se utilizan los paréntesis vacíos.

objetoReferenciado.nombreMétodo(listaArgumentos);
o
objetoReferenciado.nombreMétodo();

Veamos que significa esto en términos de movimiento del rectángulo. Para mover rect a una nueva posición utilizando el método move() escribe esto:

Rect.move(15,37)

Esta sentencia llama al método move() de rect con dos parámetros enteros, 15 y 37. Esta sentencia tiene el efecto de mover el objeto rect igual que se hizo en las sentencias anteriores en las que se modificaban directamente los valores x e y del objeto:

Rect.x=15;
Rect.y=37;









No hay comentarios:

Publicar un comentario