As vantagens e desvantagens do método de sobrecarga em Java

Métodos sobrecarregados são métodos na mesma classe que compartilham o mesmo nome, mas aceitam diferentes tipos de variáveis ​​como argumentos. Por exemplo, uma classe pode conter dois métodos de "adição" diferentes: um que aceita dois valores duplos, "adiciona (duplo a, duplo b)" e outro que aceita dois valores inteiros, "add (int a, int b)." O computador decide automaticamente qual método chamar em tempo de execução com base nos tipos de variáveis ​​passados ​​para o método.

Flexibilidade

Os métodos sobrecarregados fornecem aos programadores a flexibilidade de chamar um método semelhante para diferentes tipos de dados. Se você está trabalhando em um programa de matemática, por exemplo, você pode usar a sobrecarga para criar várias classes de "multiplicação", cada um dos quais multiplica um número diferente de tipo de argumento: o mais simples "multiply (int a, int b)" multiplica dois inteiros; o método mais complicado "multiplicar (duplo a, int b, int c)" multiplica um duplo por dois inteiros - você poderia então chame "multiply" em qualquer combinação de variáveis ​​para a qual você criou um método sobrecarregado e receba o resultado adequado.

Vídeo do dia

Construtores

A sobrecarga também é usada em construtores para criar novos objetos com diferentes quantidades de dados. Por exemplo, você pode usar a sobrecarga para criar três construtores diferentes para um objeto "Casa" com um número de casa, nome de rua e variáveis ​​de cor. O construtor mais simples "House ()" não aceita argumentos e cria uma casa com variáveis ​​padrão ou vazias. Um construtor mais complexo, "House (int houseNumber, String streetName)," cria uma casa com o número da casa e o nome da rua especificados, mas com uma cor padrão ou vazia. O construtor mais complexo, "House (int houseNumber, String streetName, String color)," cria uma casa com todas as informações especificadas, não deixando nada como padrão. Você pode então criar um objeto de casa com base nas informações disponíveis atualmente, com as informações indisponíveis deixadas em branco ou como padrão.

Referências Ambíguas

Os métodos sobrecarregados devem usar diferentes números ou tipos de argumentos para evitar ambigüidade. Se você criar dois métodos na mesma classe com o mesmo nome e aceitar dois inteiros como argumentos, o O compilador Java não será capaz de distinguir entre os dois, mesmo se as variáveis ​​de entrada tiverem nomes diferentes. Por exemplo, o método "add (int a, int b)" não pode existir na mesma classe que o método "add (int c, int d)."

Tipos de Retorno

Você deve definir um tipo de retorno para cada método sobrecarregado. Os métodos podem ter diferentes tipos de retorno - por exemplo, "add (int a, int b)" pode retornar um número inteiro, enquanto "add (double a, double b)" retorna um double. No entanto, Java não pode distinguir entre dois métodos diferentes com base em seu tipo de retorno. Portanto, "multiplique int (double a, double b)" não pode existir na mesma classe que "double multiplply (double a, double b)."