2
respostas

Opção para método de autenticação

No exercício a senha fica salva no atributo 'senha' mesmo com o 'return false' do método. Abaixo tem uma opção para o retorno do atributo ao valor inicial caso a autenticação for 'false' (que pode ser modificado de acordo com o tipo escolhido para 'senha'. Como usamos int acho que essa forma simples supre a necessidade). Escolhi permanecer com o método como booleano para possível melhora e utilização do retorno. Pois acredito ser possível forma mais 'sofisticada' de fazer esse acerto em etapas mais avançadas.

public boolean authenticatePassword(int password){
        if(this.password==password){
            return true;
        }else{
            System.out.println("Passwords are different. Please try again");
            this.password = 0;
            return false;
        }
    }
2 respostas

Oie Bruno, tudo bem contigo?

Não consegui entender muito bem o que você quis fazer. A senha é "setada" através da chamada do método setSenha, quando usamos o método autentica ele não muda nada o valor da variável, apenas faz a comparação para ver se a senha "setada" é igual a senha que foi colocada como parâmetro, e se for igual ele retorna "true" e se falso, é retornado "false". Por isso não faz sentido esse this.password = 0, já que o objetivo desse método é apenas validar, fazendo a comparação entre duas variáveis, e não reinicializar o valor da variável "password".

Não sei se consegui esclarecer sua dúvida, mas de qualquer forma se ainda tiver algum questionamento é só mandar por aqui que eu ajudo :)

oi Bruno, tudo bem? concordo com o Igor. Neste caso creio que você não precisa fazer uma alteração no password do objeto para 0 (linha 6), acho que você poderia até perder a consistência da informação fazendo isso, pois se o password do objeto for 222 (criado pelo usuário) sua classe alterou ele para 0 e o usuário não vai saber disso.

Fora essa linha 6 de resto acho que está show mano. Grande Abraço.