Apuntes
Sin título

Contenido del apunte (1)
Página 1
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 objeto actual 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, java509.java, 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 llamadlo el método.
Ahora mostraremos el uso
implícito y explícalo de la referencia this para permitir que el método
main de la clase Pruebathis
muestre los datos prívate de un objeto
HoraSimple {figura 3.4). La clase
Horasimple [líneas 22 a 55)
declare tres variables de instancia prívate: hora, minute y segundo
(Líneas 23 a 25). El
constructor (líneas 29 a 34) recibe tres argumentos int para inicializar un
objeto Horasimple. Observe que para este ejemplo hemos hecho que los nombres de
los parámelos para el constructor (línea
29} sean idénticos a los nombres de las variables de instancia para la clase
{líneas 23 a 25}. Hicimos esto para mostrar el uso explicito de this. Si un
método contiene una variable local con el mismo nombre que un campo de esa
clase, ese método se referirá a la variable local, en vez de referirse al
campo. En este case, la variable local sombrea al campo en el alcance de ese método.
Sin embargo, el método puede utilizar a this para hacer referencia al campo
sombreado en forma explícita. Como se muestra en las llenas 3l a 33 para las
variables de instancias sombreadas de la clase HoraSimple.







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 lo que se refiere a, considere la siguiente versión de Box( ):
// A
redundant use of 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, uno de los cuales se explica en la siguiente sección.
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 lo que se refiere a, considere la siguiente versión de Box( ):
// A
redundant use of 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, uno de los cuales se explica en la siguiente sección.
this
Referencia a los miembros del objeto actual mediante this
Palabra clave This
Información
- Descripción
- Apunte sobre Sin título, creado por Azakura_Yho el 25/12/2013.
- Creado por
- Azakura_Yho
- Visitas
- 406
- Valoración