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

Sobrecarga

Olá galerinha, boa tarde a todos

Tentei implementar o mais um atributo (login) dentro do método (autentica) para fazer a atividade de sobrecarga, porém está dando erro. O atributo login declarei com protected string login, porque o próprio eclipse deu a opção para concertar o erro com o protected.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

queria entender mais sobre sobrecarga, quem puder me auxiliar, agradeço!

3 respostas

Olá Dante! Tudo bem?

Você já criou a variável login?

No código que vemos aqui ela ainda não foi criada:

Imagem do código utilizado pelo aluno. No código temos uma classe chamada "Gerente", com o atributo "senha" e os métodos "setSenha", "autentica" e "getBonificacao"

Após isso, será necessário criar um método que acesse a nossa variável, para que seja possível fazer alterações no login.

Como a variável estará utilizando o modificador de acesso private, nós utilizaremos esse método para acessar a variável, da mesma forma que o método setSenha() que você criou:

Método "setSenha"

No caso, precisamos de um setLogin() para conseguir modificar o login de cada gerente.

Consegui te ajudar?

Se ainda ficou em dúvida, é só falar!

solução!

Olá Dante, tudo bem?

Acredito que o problema no seu código é que nessa situação if-else, como você colocou return nos dois casos, o que está depois da linha 16 não pode ser alcançado.

Uma solução para esse caso seria usar um operador lógico AND no if, assim o código irá verificar se a senha E o login estão certos, e só irá retornar true se os dois forem válidos

public class Gerente extends Funcionario {
    private String login;
    private int senha;

    public void setLogin(String login){
        this.login = login;
    }

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

    public boolean autentica(String login, int senha){
        if (this.login == login && this.senha == senha){
            return true;
        }
        else {
            return false;
        }

        // Nada depois do else vai ser executado, por isso o compilador vai retornar um erro pra qualquer coisa que você fizer aqui em baixo
    }
}

Sobre a parte de sobrecarga, não consegui ver nada na classe que utilize isso.

hahah eu declarei o login na super classe haha por isso tava dando erro hahahaha

Obrigado a todos!

Vou arrumar tanto o if e else quanto declarar a variavel dentro da classe gerente hahahaha obrigado mesmo!