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:
- Manipular directamente las variables x e y del objeto que son accesibles desde otra clase.
- 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