Boa tarde, Andre! Como vai?
Vou responder as suas dúvidas na ordem inversa para facilitar o seu entendimento!
Como funciona o retorno do método sobrescrito autentica da classe Cliente quando é escrito return this.autenticador.autentica(senha) ?
Veja que no construtor das classes que implementam a interface Autenticavel
há a instrução this.autenticador = new AutenticacaoUtil()
onde é criado um objeto responsável por posteriormente efetuar a autenticação. Vc pode conferir isso nas classes Gerente
e Cliente
, por exemplo!
Então, ao fazer return this.autenticador.autentica(senha)
dentro do método autentica()
da classe Cliente
, o Java irá invocar o método autentica()
do objeto autenticador
, que foi criado no construtor, e efetivamente fará o processo de autenticação. Retornando, por fim, a quem chamou o método autentica()
da classe Cliente
o resultado da operação.
No primeiro video deste módulo, lá pelos 7 minutos, na classe Cliente foram implementados os métodos setSenha e autentica. Não consegui entender como é feita a comparação das senhas, ou seja, estou passando a senha do cliente por parâmetro para ser comparada à senha do sistema e não vejo onde esta esta comparação de senhas descrita no método autentica da classe AutenticacaoUtil.
A comparação das senhas está dentro do método autentica()
da classe AutenticacaoUtil()
. Dê uma olhada nesse método que vc encontrará a tal comparação!
Pegou a ideia? Qualquer coisa é só falar!
Grande abraço e bons estudos, meu aluno!