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

Um pouco sobre sobrecarga de métodos

Espero que a forma que fiz tenha ficado claro, foi apenas um teste.

public class Gerente extends Funcionario {

private int senha;

public Gerente() {
    this.senha = 2222;
}

/*A sobrecarga não leva em conta a visibilidade ou o tipo de retorno do método,
 apenas os parâmetros e não depende da herança.*/
public boolean autentica(int senha) {
    if (this.senha == senha) {
        return true;
    } else {
        return false;
    }
}

public String autentica(String login, int senha) {
    if (login.equals("alura") && this.senha == senha) {
        return "Autorizado: " + super.getNome();
    } else {
        return "Nao autorizado";
    }
}
protected int autentica(String login, String descricao) {
    if(login.equals("alura") && descricao.equals("Gerente")) {
        return 1;
    }else {
        return 0;
    }
}

/* sobrescrita depende de uma classe mae */
public double getBonificacao() {
    return super.getBonificacao() + super.getSalario();
}
}





 public class TesteGerente {

public static void main(String[] args) {

    Gerente g1 = new Gerente();
    g1.setNome("Dr.d");
    g1.setCpf("22222");
    g1.setSalario(5000.0);
    //System.out.println(g1.getNome() + " autorizado: " + g1.autentica(222) + "\nbonificacao: " + g1.getBonificacao());
    System.out.println(g1.autentica("alura", 2222));
    System.out.println(g1.autentica("alura", "Gerente"));

}

 }

Saída no console:

Autorizado: Dr.d 1

2 respostas

Oie Drvw, tudo bem contigo?

É exatamente você explicou ali como comentário, a sobrecarga acontece independentemente da herança, visibilidade ou tipo de retorno, levando em consideranção apenas o que cada método irá receber como parâmetro e claro, o nome dos métodos precisam estar exatamente iguais para ser uma sobrecarga.

Caso tenha interesse em se aprofundar mais no tema e ver mais alguns exemplos, achei um artigo bem legal que fala sobre esse assunto, se te interessar clique aqui.

Espero ter ajudado, qualquer outra dúvida ou problema é só mandar por aqui :)

Bons estudos!

solução!

Opa, tudo certo Igor. Com certeza darei uma olhada agradeço por compartilhar o conteúdo.

abraço.

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