sobreposição de método

4 respostas
C

Dá pra sobrepôr um método e chamar o método sobreposto?

Por exemplo:

public class Funcionário { public void aumentarSalário(double percentual) { this.salário += (percentual/100) * this.salário; } }

public class Professor extends Funcionário { public void aumentarSalário(double percentual) { super(percentual); this.salário += 100; } }

Sei que não tá correto, mas será q deu pra entender o que to querendo fazer?

4 Respostas

evertonsilvagomesjav
cake:
Dá pra sobrepôr um método e chamar o método sobreposto?

Por exemplo:

public class Funcionário
{
   public void aumentarSalário(double percentual)
   {
   	this.salário += (percentual/100) * this.salário;
   }
}
public class Professor extends Funcionário
{
   public void aumentarSalário(double percentual)
   {
   	super(percentual);
   	this.salário += 100;
   }
}

Sei que não tá correto, mas será q deu pra entender o que to querendo fazer?

Se vc quiser usar o método sobreescrito usando polimorfismo é so fazer:

Funcionario func = new Professor();

func.aumentarSalario(20);
quikkoo

vc implementou quase certo, por dentro da classe se faz assim:

public class Professor extends Funcionário
{
	public void aumentarSalário(double percentual)
	{
		// a referência 'super' sozinha se refere ao construtor
		// para qlqr função de uma superclasse vc precisa colocá-la
		// depois da palavra, semelhanto como se faz com com 'this'
		super.aumentarSalário(percentual);
		this.salário += 100;
	}

	// vc tb pode chamar essa mesa funções através de outra,
	// ñ sendo necessáriamente a função que sobrescreve
	public void acrescentaBeneficios(double percentual)
	{
		super.aumentarSalário(percentual);
	}
}

flw, t+

L

Só uma dica…
Por convenção não se coloca acentuação em classes atributos nome de métodos etc… =)

abraço…

Lucas_Abbatepaolo

Quando vc chamar o metodo, este sera procurado na classe, não sendo encontrado, sera procurado nas classes maes ou super-classes.
Att.,

Criado 4 de outubro de 2010
Ultima resposta 5 de out. de 2010
Respostas 4
Participantes 5