Sobrecarga de Métodos

10 respostas
faviandrade

Gostaria de entender melhor esta questão… e venho pedir ajuda.

Por exemplo: (neste caso o que diferencia um forma da outra?)

Conta(double saldoIncial, String num, String tit, String ag,  int bc){
this(num, tit, ag, bc);
this.setSaldo(saldoInicial);
}
conta (String num, String tt, String ag, int bc){
this.setNumero(num);
this.setTitular(tit);
this.setAgencia (ag);
}

10 Respostas

perdeu

Sobrecarga eh quando vc muda a assinatura do metodo ou o tipo de retorno.

pvrsouza

Sobrecarga nos permite criar vários métodos com o mesmo nome desde que tenham parâmetros diferentes.

//aqui passo dois parametros
public int Soma(int n1, int n2){
   return n1+n2;
}

//mas posso precisar somar 03 valores
public int Soma(int n1, int n2, int n3){
   return n1+n2+n3;
}

Houve a sobrecarga e na hora de chamar eu posso escolher entre um deles. Esse exemplo é só para ilustrar! Existem aplicações mais específicas para isso.

rogelgarcia

Tipo de retorno nao… vc nao pode ter dois métodos recebendo os mesmos parametros e retornos diferentes :wink:

rogelgarcia

faviandrade:
Gostaria de entender melhor esta questão… e venho pedir ajuda.

Por exemplo: (neste caso o que diferencia um forma da outra?)

Conta(double saldoIncial, String num, String tit, String ag, int bc){ this(num, tit, ag, bc); this.setSaldo(saldoInicial); } conta (String num, String tt, String ag, int bc){ this.setNumero(num); this.setTitular(tit); this.setAgencia (ag); }

esse seu código nao compila…

faviandrade

COmpila, aqui rodei normalmente, mas… creio que já entendi o que é a sobrecarga…

Obrigado a todos.

M

Conta e conta são coisas diferentes, isso não é sobrecarga.

Mas o que falaram está certo.

el_loko

Tipo de retorno nao… vc nao pode ter dois métodos recebendo os mesmos parametros e retornos diferentes :wink:

Se vc estiver falando de polimorfismo e retornos covariantes pode sim.

=]

pedroroxd

rogelgarcia:

esse seu código nao compila…

É logico neh… ta faltando 1 pedaço do código… =P

perdeu

Valeu a observação. rogelgarcia

samuel.ramos

Boa observação markin1… Para existir a sobrecarga, os métodos precisam estar exatamente com o mesmo nome e assinaturas diferentes… Não importante o que será feito dentro do método, mas sim sua assinatura deve mudar…

...
public int metodoHum(String v1, int v2){
...
}

public int metodoHum(String v1){
...
}
Criado 30 de março de 2010
Ultima resposta 31 de mar. de 2010
Respostas 10
Participantes 8