Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Método getBonificacao na classe Gerente é uma sobrescrita ou sobrecarga do método getBonificacao da classe Funcionario?

public class Funcionario {

private String nome;
private String cpf;
private double salario; 

public double getBonificacao() {
    return this.salario * 0.05;
}

public void setNome (String nome) {
    this.nome = nome;
}

public String getNome() {
    return this.nome;
}

public void setCpf (String cpf) {
    this.cpf = cpf;
}

public String getCpf() {
    return this.cpf;
}

public double getSalario() {
    return this.salario;
}

public void setSalario(double salario) {
    this.salario = salario;
}

}

public class Gerente extends Funcionario {

private int senha;

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


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

}

// sobrescrita ou sobrecarga ??? 
public double getBonificacao(double percentual) {
    return super.getBonificacao() + (super.getSalario() * percentual); 
}

}

1 resposta
solução!

Oie Maria, tudo bem com você?

Nesse caso seria sobrescrita do método. Sempre que uma classe filha pegar um método da classe mãe e atribuir sua lógica de maneira diferente será uma sobrescrita. Uma sobrecarga é quando em uma mesma classe é escrito dois métodos iguais, mas com retornos e parâmetros diferentes.

Exemplo de sobrecarga:

public int soma(int x, int y){
    return x + y;
}

public double soma(double x, double y){
    return x + y;
}

Espero que eu tenha ajudado, qualquer dúvida ou problema fico a disposição :)

Bons estudos!