Convenciones Java y UML
Utilización de la palabra clave this para no ocultar las variables de instancia
Cuando hay una variable de instancia y una variable local que tienen el mismo nombre en un mismo ámbito, la variable local oculta a la variable de instancia.
Una opción para que una variable de instancia y una variable local que tienen el mismo nombre no choquen es forzar que el nombre de la variable local sea diferente al de la variable de instancia. Este código es un ejemplo
package paqbicicleta;
public class Bicicleta {
String marca;
public Bicicleta(String valorMarca) {
marca = valorMarca;
}
} |
- public Bicicleta(String valorMarca) {
- el hacerlo de esta manera es correcto,
- pero dependiendo de la inspiración personal de cada uno, y en un proyecto trabajamos muchas personas, un día decidiremos que el nombre de la variable se puede llamar valorMarca, otro día marcaRecibida y otro día marca1 y así sucesivamente.
Existe una convención muy generalizada entre los desarrolladores Java de utilizar la palabra clave this para que una variable de instancia no quede oculta delante de una variable local que posea el mismo nombre. Este código es un ejemplo
package paqbicicleta;
public class Bicicleta {
String marca;
public Bicicleta(String marca) {
this.marca = marca;
}
} |
- public Bicicleta(String marca) {
- de esta forma tenemos claro que el valor que estamoss esperando está destinado a modificar el valor de la variable de instancia y no tenemos que estar pensando en crear nuevos nombres para los argumentos de los métodos
- this.marca = marca;
- dejamos claro que la variable de instancia, en este caso this.marca, toma por valor el valor de la variable local, en este caso marca
Lo cierto es que es una cuestión personal decidir que filosofía adoptar. En mi caso, opto por la convención de la utilización de la palabra clave
this por las razones expuestas anteriormente.