lunes, 20 de febrero de 2012

2.3 Referencia al objeto actual

Para descargar el documento de este tema, haz clic aquí

This

 Al acceder a variables de instancia de
una clase, la palabra clave
this
hace referencia a los miembros de la propia clase en el objeto actual; es
decir,
this
se refiere al objeto actual sobre el que está actuando un método determinado y
se utiliza siempre que se quiera hace referencia al objetoactual de la clase.
Volviendo al ejemplo de MiClase, se puede añadir otro constructor de la forma
siguiente:


    public class MiClase {


        int i;


        public MiClase() {


            i = 10;


            }


        // Este constructor
establece el valor de i


        public MiClase( int valor) {


            this.i = valor; 
// i = valor


            }


        // Este constructor también establece el valor de i


        public MiClase( int i ) {


            this.i = i;


            }


        public void Suma_a_i( int j ) {


            i = i + j;


            }


        }


Aquí this.i se refiere al entero i en la clase MiClase, que corresponde al
objeto actual. La utilización de
this en el tercer constructor de la clase, permite
referirse directamente al objeto en sí, en lugar de permitir que el ámbito
actual defina la resolución de variables, al utilizar
i como parámetro formal y después this para acceder a la variable de instancia del objeto
actual.


La utilización de this en dicho contexto puede ser confusa en ocasiones,
y algunos programadores procuran no utilizar variables locales y nombres de
parámetros formales que ocultan variables de instancia. Una filosofía diferente
dice que en los métodos de inicialización y constructores, es bueno seguir el
criterio de utilizar los mismos nombres por claridad, y utilizar
this para no ocultar las variables de instancia. Lo
cierto es que es más una cuestión de gusto personal que otra cosa el hacerlo de
una forma u otra.


La siguiente aplicación de ejemplo, utiliza la referencia this al objeto para acceder a una variable de instancia
oculta para el método que es llamado.


class java509 {


    // Variable de instancia


    int miVariable;


   


    // Constructor de la clase


    public java509() {


        miVariable = 5;


        }


   


    // Metodo con argumentos


    void miMetodo(int miVariable){


        System.out.println("La variable Local miVariable contiene "+ miVariable );


        System.out.println("La variable de Instancia miVariable contiene "

+ this.miVariable );


        }

public static void main( String args[] ) {


        //Instanciamos un objeto del tipo de la clase


        java509 obj = new java509();


        // que utilizamos para llamar a su unico metodo


        obj.miMetodo( 10 );


        }


    }




Referencia a los miembros del objeto actual mediante this

Todo objeto puede hacer referencia a sí mismo. mediante la palabra clave this (lo que se conoce como una referencia this). En un método, la referencia this puede utilizarse en forma implícita y explicita para hacer referencia a las variables de instancias y otros métodos del objeto en el cual se haya llamado el método.


Palabra clave This

A veces deberá hacer referencia al objeto que lo invoca un método. Para permitir esto, Java define esta palabra clave. Esto puede utilizarse dentro de cualquier método para hacer referencia al objeto actual.
Es decir, esto siempre es una referencia al objeto en el que se invoca el método. Puede utilizar este cualquier lugar que es permite una referencia a un objeto de tipo de la clase actual. Para entender mejor a lo que se refiere considere la siguiente versión de Box( ):


// Un uso redundante de this.


Box(double w, double h, double d) {

this.width = w;


this.height = h;


this.depth = d;


}


Esta versión de cuadro () funciona exactamente igual que la
versión anterior. El uso de esto es redundante, pero perfectamente correcto. ()
De la caja, esto será siempre se refieren al objeto invocando. Aunque en este
caso es redundante, esto es útil en otros contextos.

No hay comentarios:

Publicar un comentario