Guest Guest Postado Maio 8, 2005 Denunciar Share Postado Maio 8, 2005 Ae pessoal, to precisando de uma luz sobre sobrecargas, pra que serve, quando usar. O meu professor deu uma aula disso, mas eu praticamente não entendi nada, valeu!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Maio 8, 2005 Denunciar Share Postado Maio 8, 2005 Ae pessoal, to precisando de uma luz sobre sobrecargas, pra que serve, quando usar. O meu professor deu uma aula disso, mas eu praticamente não entendi nada, valeu!!! Você vai usar sobrecarga quando quiser que um método de mesmo nome tenha assinaturas diferentes, ou seja, receba parâmetros diferentes (sobrecarga de métodos). Se você possui um método somar, por exemplo:int somar(int n1, int n2); Note que ele recebe dois inteiros e retorna um inteiro. Mas, e se eu quiser passar doubles e receber um double? Eu posso fazer isso com essa função? A resposta é "não". Isso porque ela só aceita inteiros e só vai devolver um inteiro. Terei eu que criar um "somar_doubles", porque o nome "somar" já está sendo utilizado por ela? Antigamente e em certas linguagens você precisa fazer isso. Todavia, a sobrecarga é justamente o mecanismo que permite que uma mesma função tenha uma declaração diferente, portanto... int somar(int n1, int n2); double somar(double n1, double n2);... são declarações válidas. Quando ambos os argumentos forem inteiros, será utilizada a primeira; quando ambos forem duplos, será a utilizada a segunda.Outro tipo de sobrecarga é a sobrecarga de operadores. Você pode fazer 1+4 e sabe que o retorno será a soma desses inteiros (ou seja, 5). O mesmo se dá com floats e doubles, por exemplo. Mas, e se você tem uma classe própria sua? Qual seria o retorno de uma soma entre um objeto da sua classe e um inteiro? Ou de dois objetos da sua classe? A sobrecarga do operador + faz justamente com que você possa controlar esse comportamento e decidir qual será o retorno. E, é claro, você pode sobrecarregar quaisquer outros operadores (-, /, *, <<, >>, <, >, ==, !=, etc.). Você poderia utilizar o operador > (maior que), por exemplo, para retornar se um cliente comprou mais do que outro, por exemplo.Sacou? Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Guest
Ae pessoal, to precisando de uma luz sobre sobrecargas, pra que serve, quando usar. O meu professor deu uma aula disso, mas eu praticamente não entendi nada, valeu!!!
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.