Srs, tenho uma duvida em relação a uso de variáveis locais e nomes de campos. Exemplo.
No código abaixo dentro da minha classe eu estou usado as variáveis hour, minute, second. Dentro da classe SimpleTime tenho um construtor que possui três campos e estou utilizando os mesmos nomes das variáveis citadas anteriormente.
Minha duvida é: isso é uma prática de programação recomendada? Uma vez que estou utilizado e referenciando os campos com “this”. Ou nesse caso nem mesmo o uso do “this” é uma boa prática de programação? Obrigado.
public class This_Main
{
public static void main( String[] args )
{
SimpleTime time = new SimpleTime( 15, 30, 19 );
System.out.println( time.buildString() );
}//End main
}//End class
//Classe SimpleTime demostra a referência "this"
class SimpleTime
{
private int hour; // 0-23
private int minute; // 0-59
private int second; // 0-59
//Se o construtor utiliza nomes de parâmetros idênticos
//Nomes de váriaveis de instância a referência "this" será
//Exigida para distinguir entre nomes
public SimpleTime( int hour, int minute, int second )
{
this.hour = hour; //Configura a hora do objeto "this"
this.minute = minute; //Configura o minuto do objeto "this"
this.second = second; //Configura os segindos do objeto "this"
}//End construtor SimpleTime
//Usa "this" explícito e implícito para chamar toUniversalString
public String buildString()
{
return String.format( "%24s: %s\n%24s: %s",
"this.toUniversalString()", this.toUniversalString(),
"toUniversalString()", toUniversalString() );
}//End metodo buildString
//Converte em String no formato d hora universal (HH:MM:SS)
public String toUniversalString()
{
//"this" não é requerido aqui para acessar variável de instância
//porque o método não tem variáveis locais com os mesmos
//nomes das variáveis de instância
return String.format( "%02d:%02d:%02d",
this.hour, this.minute, this.second );
}//End do método toUniversalString
}//End class SimpleTime