viernes, 9 de diciembre de 2016

16-Programación Orientada a Objetos (Parte VI). Uso de this.

Utilizar la Palabra clave this

En algunos tutoriales anteriores se ha hecho uso de la palabra clave this. La palabra clave this se utiliza para hacer referencia a un método o propiedad del objeto actual, es decir, hace referencia al objeto actual en el que nos encontramos.
Vimos que al crear una clase, ésta estaba formada por atributos y métodos y, estos métodos, en ocasiones se le pasaban variables como parámetros. En muchas ocasiones estos parámetros tienen, por necesidad, el mismo nombre que alguno de los atributos y para poder diferenciar el atributo de la variable pasada como argumento se hace uso del this. 

Veámoslo con un ejemplo:


class Persona {
    String nombre;
    String apellidos;
    
    //Creamos los métodos set de nombre y apellidos
    
    public void setNombre(String nombre){
        //Con el uso del this diferenciamos el atributo nombre del
        //parámetro del mismo nombre
        //Así nombre atributos pasará a valer el valor que se pase
        //como argumento
        this.nombre = nombre;
    }
    
    public void setApellidos(String apellidos){
        this.apellidos = apellidos;
    }
}



Podemos observar que en el método setNombre(String nombre){}; el parámetro tiene el mismo nombre que el atributo de la clase. Por eso hacemos uso del this en este caso, con el this.nombre estamos haciendo referencia al atributo de la clase de ese objeto que estamos utilizando ahora mismo, para indicarle que queremos pasar el valor de nombre que le pasemos como argumento al atributo de el objeto en particular.
Con el método setApellidos(String apellidos){}; pasa exactamente igual y el uso es el mismo.

Netbeans nos permite ver a qué variable nos estamos refiriendo. Por ejemplo, si hacemos click sobre this.nombre podemos ver como el atributo nombre queda marcado para indicar que estamos haciendo referencia a dicho atributo del objeto y no al del argumento. Si hacemos click sobre nombre dentro del método vemos como se marca el parámetro nombre que le debemos de pasar cuando hagamos la llamada al método.



A modo de resumen decir que el uso del this indica que nos estamos refiriendo a un objeto concreto, al objeto actual. Si en una clase Coches creamos un objeto ford y en el objeto hacemos uso del this, nos estamos refiriendo a ese objeto ford y no a otro objeto como podría ser seat, audi o cualquier otro objeto de la clase Coches.

¿Dónde se puede usar el this?

Se puede utilizar en cualquier miembro del objeto actual desde dentro de un método de instancia o un constructor. 
Si intentáramos utilizar this desde un método estático se produciría un error y lanzaría el mensaje "Cannot use this in a static contexto"
Esto es porque a un método estático se puede acceder sin la instancia del objeto y, por lo tanto no podríamos hacer referencia a propiedades de un objeto concreto (Al ser un método estático se puede acceder a él mediante NombreClase.NombreMétodoEstático, no haría falta crear un objeto o instancia de la clase)

En el siguiente tutorial veremos la sobrecarga de métodos

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...