Reescrita de Método

3 respostas
Fabiano_Fiorindo
Ola pessoal..... Num exemplo que estou usando para estudo tem a seguinte situação: Tem um a classe Funcionario e uma classe extends da classe Funcionario com o nome Gerente, foi criado um método getBonificação para o Funcionario:
public void getBonificacao(){ 
               return this.salario * 0.10;
         }
O mesmo método foi reescrito na classe extends Gerente, porem toda vez que este método é chamado ele executa o método da classe Funcionario.
Gerente gerente = new Gerente();
                            System.out.println(gerente.getBonificação());
Então como fazer para chamar o método getBonificacao da classe Gerente..........

3 Respostas

Rafael_Steil

O metodo

public void getBonificacao(){ 
    return this.salario * 0.10;
}

esta incorreto. Voce nao pode retornar valores quando o tipo eh “void”. Mas de qualquer maneira, vamos considerar que isso foi um erro de digitacao na hora de colocar no forum.

Coloque aqui essas duas classes, para que possamos verificar a sintaxe.

Rafael

I

Tem que ter certeza de que vc sobrepôs o método corretamente.

Se vc usou uma lista diferente de argumentos, então você está sobrecarregando o método na classe filha, o que ainda faz com que ela herde o método original da classe pai.

Fabiano_Fiorindo

Realmente o metodo getBonificação foi digitado errado em vez de void é double.
A lista de argumento é a mesma para as duas classes e estão declaradas na classe Funcionario e é através do obj. Gerente criado.

Gerente gerente = new Gerente();

Que chamo o metodo getBonificacao.

System.out.println(gerente.getBonificacao());

Mas analisando meu codigo novamente percebi que tinha erro na reescrita do método.
O da classe Funcionario estava assim:

public double getBonificacao(){ return this.salario * 0.10; }
O da classe Gerente extends Funcionario estava assim:

public double Bonificacao(){ return this.salario * 0.15; }
Feito a correção, obitive o resultado esperado:
Agradeço muito a atenção que vcs me deram e percebi que ao programar temos que prestar muita atenção para não cometer esse tipo erro que considero um erro grave de falta de atenção até mais…
Muito Obrido…

Criado 24 de julho de 2005
Ultima resposta 25 de jul. de 2005
Respostas 3
Participantes 3