Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Dificuldade básica resolvida! Obrigado Gabriel.

O meu código da classe Gerente está assim por equanto:


public class Gerente extends Funcionario{


    private int senha;

    public void setSenha(int senha) {
        this.senha = senha;
    }

    private int getSenha() {
        return this.senha;
    }

    public boolean autentica() {

        if (this.senha == getSenha()) {

            return true;
        } else {

            return false;
        }

    }




}

Já a minha main TesteGerente está assim:

public class TesteGerente {

    public static void main(String[] args) {

        Gerente g1 = new Gerente();
        g1.setNome("Renato");
        g1.setCpf("454545454544");
        g1.setSalario(5000.0);
        System.out.println(g1.getNome());
        System.out.println(g1.getCpf());
        System.out.println(g1.getSalario());

        g1.setSenha(2222);
        System.out.println(g1.autentica());

    }

}

O instrutor criou o método autentica que recebe uma senha um int em seu parametro, porém logo em seguida criou um novo método o setSenha pois os atributos inicializam já zerados, então eramos obrigados a digitar a senha duas vezes na main, fiz uma pequena modificação e acho que ficou bem válido. O que vocês acharam?

6 respostas
solução!

Boa tarde, Renato! Como vai?

Parabéns pela iniciativa! Sua intenção foi realmente boa!

No entanto, observe que da forma que está o seu método autentica() sempre irá retornar true por causa da condição que está no seu if: this.senha == getSenha(). Isso ocorre pois this.senha e getSenha() sempre serão iguais. Portanto, a conclusão é que o método autentica() realmente precisa receber a senha como parâmetro.

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos!

mas e se a senha for digitada errada? Mas obrigado por responder!

mas e se a senha for digitada errada?

É justamente esse o objetivo do método autentica(): verificar se a senha passada pra ele é a mesma do usuário. Portanto, nesse caso, se a senha for digitada errada, o método autentica() deve retornar false.

Entendi, ficou mais claro agora.

É que as vezes a cabeça dá um nó e eu fico meio abestado, sabe como é né rsrsrsrs.

Acontece com todos, Renato! Sempre que tiver qualquer dúvida é só mandar aqui no fórum!

Grande abraço e bons estudos, meu aluno!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software