Los métodos de un objeto, como se explicó anteriormente, definen las acciones que un objeto puede llevar a acabo. Para utilizar los métodos de un objeto, usamos la misma técnica que para asignar colores a los datos de un objeto:

Circulo c = new Circulo(); double a; c.r = 2.5; a = c.area();

En este último ejemplo se asignó el valor del método area( ) a la variable a. Observe la última línea. No se escribió a = area(); sino: a = c.area();

Esto se debe a que se utilizó la programación “Orientada a Objetos”; aquí el objeto es el centro de atención y no así la llamada del método. Esto es probablemente la más simple e importante. característica del paradigma orientado a objetos.

Note que no se pasó ningún argumento a c.area(). El objeto sobre el que se está operando, c, se encuentra implícito en la sintaxis. Observe de nuevo el ejemplo 1: notará lo mismo en la definición del método area() - no toma argumentos. Esta implícito en el lenguaje, que un método opera sobre una instancia de la clase de la cual es definido. De este modo el método area() puede utilizar libremente el campo r de la clase - es claro que esta refiriéndose al radio de cualquier instancia Circulo que invoca el método. ¿Qué es lo que pasa aquí? ¿Cómo puede saber un método, que no toma ningún parámetro, sobre que dato operar? En efecto, el método area() simula tener un argumento, y se define con un argumento implícito que no se muestra en la declaración del mismo. El argumento implícito es llamado this, y se refiere a “este objeto” - el objeto Circulo del cual el método se invoco. This. es frecuentemente llamado la referencia “this”.

El argumento implícito this, no se muestra en la declaración del método, ya que usualmente no es necesario - donde quiera un método en Java puede accesar los campos en su clase. El código de un método constructor de la clase Circulo se muestra en el ejemplo 3: public Circulo(double a, double b, double c) { x = a; Alejandro Talavera Rosales 18 y = b; r = c; } Ejemplo 3. En este caso, el método constructor inicializa los campos de datos del objeto que se está creando. Este método es equivalente al que se muestra en el ejemplo 4. public Circulo(double a, double b, double c) { this→x = a; this→y = b; this→r = c; }

Ejemplo 4. Cada vez que este último constructor se ejecuta, this hace referencia al objeto que se está creando en ese instante.

La palabra this se puede usar explícitamente cuando se quiere poner en claro que un método accesa sus propias variables y/o métodos. Por ejemplo, se puede re-escribir el método area() de la siguiente forma:

public double area() {return 3.14159 * this→r * this→r;} En un método tan sencillo como éste, no es necesario ser explícito. Sin embargo, en casos más complicados, parece que utilizar un this explícito incrementa la claridad del código aunque no sea estrictamente necesario.


Google