2
respostas

Problema ao escrever o getBonificacao() de outra forma

Olá, tudo bem?

Esse é meu primeiro post aqui no fórum =)

Passei por esse tópico e achei interessante poder reescrever um método da classe pai com o mesmo nome apenas chamando "super(parametro);". Exemplo:

public void depositar(double valor) {
    super(valor);
    double juros = 0.10;
    this.saldo -= juros;
}

Tentei seguir a mesma abordagem reescrevendo o getBonificacao desta forma:

    public double getBonificacao()    { 
        return super() + super.getSalario();
    }

Ou desta forma:

    public double getBonificacao()    { 
        double bonificacao = super();
        return bonificacao + super.getSalario();
    }

Mas em ambos a chamada "super();" apresenta o seguinte erro: "Syntax error on token "super", invalid Name"

Seria porque o método getBonificacao da classe pai não recebe nenhum parâmetro e essa abordagem só funciona se o metodo tiver parametros? Agradeço pela ajuda.

2 respostas

O getBonificacao eu penso que deveria ter um parâmetro, para que dessa forma tu pudesse retornar o super(seuParametro).

Testei aqui, alterando o getBonificacao na classe pai e na classe filho, colocando um parametro e mesmo assim quando chamo o super(parametro); o erro permanece. Não estou entendendo.