Sobrecarga de métodos em Java [com exemplos]

Publicados: 2020-11-12

Java é uma linguagem versátil que segue os conceitos da Programação Orientada a Objetos. Muitos recursos da programação orientada a objetos tornam o código modular, reutilizável, flexível e fácil de depurar. Existem muitos recursos de programação orientada a objetos, como herança, polimorfismo, encapsulamento e abstração.

Neste artigo, discutiremos a sobrecarga de métodos em Java, que é o tipo de polimorfismo.

Índice

Polimorfismo

Polimorfismo significa a capacidade de aparecer em diferentes formas. Ele permite que o mesmo método mostre comportamentos diferentes usando métodos diferentes. Existem dois tipos de polimorfismo: Sobrecarga de Método e Sobreposição de Método. A sobrecarga de métodos significa que vários métodos têm o mesmo nome, mas argumentos diferentes.

Aprenda a criar aplicativos como Swiggy, Quora, IMDB e muito mais

Substituição de método significa que a classe filha pode ter um método com o mesmo nome da classe pai, mas com uma implementação diferente. Discutiremos a sobrecarga de método com mais detalhes neste artigo. Para substituição de método, você pode visitar upGrad e obter informações.

Sobrecarga de métodos em Java

A sobrecarga de métodos em Java é um dos recursos mais úteis de uma linguagem orientada a objetos. Ele permite que uma classe tenha vários métodos com o mesmo nome. A única diferença que esses métodos têm é a lista diferente de parâmetros que são passados ​​por esses métodos.

Pode ser entendido em termos simples com um exemplo simples. Uma adição de classe tem dois métodos chamados add(), um método tem parâmetros int a e int b, enquanto o outro tem três parâmetros inteiros, ou seja, int a, int b e int c. Portanto, diz-se que o método add() está sobrecarregado.

O método que será executado dependerá do número de parâmetros passados ​​na instrução de chamada do método. Para ilustrar, add(20,30) chamará o método add() com dois parâmetros e add(10,20,30) chamará o método add com três parâmetros.

Diferentes maneiras de sobrecarregar um método

A sobrecarga de métodos em Java pode ser obtida de diferentes maneiras. Como entendemos que é a lista de parâmetros que diferencia os dois métodos com o mesmo nome em Java. As diferentes maneiras de sobrecarga de métodos em Java podem ser alcançadas variando a lista de parâmetros de uma das maneiras abaixo:

  1. Número de parâmetros
  2. O tipo de dados dos parâmetros
  3. A sequência de tipos de dados de parâmetros

O número de parâmetros

Como fica claro pelo nome, haverá um número diferente de parâmetros nos métodos sobrecarregados que decidirão qual método executar vendo a instrução de chamada do método. Abaixo está o método de sobrecarga em Java , onde o número de parâmetros varia.

Método1: add(int, int)

Método2: add(int, int, int)

A instrução de chamada de método add(20,30) executará o método1 e a instrução de chamada de método add(10,20,30) executará o método2.

O tipo de dados dos parâmetros

Nesse tipo de sobrecarga de métodos em Java , os dois métodos java de uma classe têm o mesmo nome, e o número de parâmetros pode ser igual ou diferente, mas o tipo de dados dos parâmetros será diferente.

Método1: add(int, int)

Method2: add(int, float)

Method3: add(float, float)

Nos métodos acima, o nome do método é o mesmo, mas o tipo de dados dos parâmetros é diferente. Portanto, a instrução de chamada de método add(2, 5.5) executará o método2. Da mesma forma, add(7.5, 10.25) irá executar o método3.

A Sequência do Tipo de Dados dos Parâmetros

Nesse tipo de sobrecarga de método em Java , tanto o nome do método quanto o número de parâmetros são os mesmos, mas a diferença está na sequência de tipos de dados desses parâmetros. Abaixo está o exemplo de métodos sobrecarregados:

Método1: add(int, float)

Método2: add(float, int)

Aqui, chamar a instrução para add(100, 75.5) chamará o método1 para executar e add(55.25, 150) executará o método2.

Portanto, são os parâmetros na instrução de chamada que decidem qual método sobrecarregado será executado.

Leia: Sobrecarga de métodos em Java

Por que precisamos de sobrecarga de método em Java?

Se o programador criou um método em Java para realizar alguma ação, mas posteriormente, como parte do requisito, o programador deseja que o mesmo método atue em parâmetros diferentes, então o codificador pode simplesmente usar o recurso de sobrecarga de método em Java . Isso permitirá que o programador crie os métodos de execução de funções semelhantes com o mesmo nome para que eles não precisem lembrar os nomes posteriormente.

Vamos conhecer as vantagens de realizar a sobrecarga de métodos em Java.

Vantagens de executar a sobrecarga de métodos em Java

Abaixo estão algumas das vantagens da sobrecarga de métodos em Java :

  • Melhora a legibilidade do código escrito.
  • Acrescenta limpeza ao código escrito.
  • Ele também pode ser usado em construtores para que possamos criar objetos diferentes passando dados diferentes.
  • Dá aos programadores a flexibilidade de chamar métodos diferentes com nomes semelhantes.
  • Métodos sobrecarregados podem ter diferentes tipos de retorno.

Deve ler: Carreira em Java

Regras para sobrecarga de métodos em Java

  • A primeira regra é alterar a assinatura do método. A assinatura do método refere-se ao número de argumentos, à sequência de parâmetros e ao tipo de dados dos parâmetros.
  • Se apenas alterarmos o tipo de retorno do método mantendo o nome e os argumentos do método iguais, isso não será a sobrecarga do método, mas dará origem a um erro de compilação.

Pontos importantes sobre sobrecarga de métodos em Java

  • Qualquer código escrito em Java não pode ter métodos com o mesmo nome. Se criarmos 2 métodos com o mesmo nome em Java, ele lançará um erro de compilação.
  • Isso pode ser alcançado através da sobrecarga de métodos. A sobrecarga de métodos permite que os programadores escrevam dois ou mais métodos com o mesmo nome, mas com listas de parâmetros diferentes.
  • A sobrecarga de métodos em Java é semelhante à sobrecarga de construtores. A única diferença é que a sobrecarga de método ocorre para os métodos definidos na classe, enquanto a sobrecarga de construtor é para os métodos construtores da classe.
  • Na sobrecarga de métodos em Java, os métodos sobrecarregados possuem uma lista de parâmetros diferente. Não tem nada a ver com o tipo de retorno do método. Como um exemplo; se dois métodos tiverem o mesmo nome e a mesma lista de parâmetros, mas diferentes tipos de retorno, isso não é sobrecarga de método em Java , mas é um caso inválido.

Método 1 : int Add (float, float)

Método 2 : float Adicionar (float, float)

Este é o caso inválido de sobrecarga de método, pois ambos os métodos Add() têm o mesmo nome e a mesma lista de parâmetros.

Abaixo está o código que explica a Sobrecarga de Métodos em Java:

Soma da classe{

privado int a;

privado int b;

privado int c;

privado int d;

int public add(int a, int b){

intc;

c=a+b;

retornar c;

}

int public add(int a, float b){

intc;

c=a+b;

retornar c;

}

int public add(float a, float b){

intc;

c=a+b;

retornar c;

}

int public add(float a, int b, int c){

int d;

d=a+b+c;

retorno d;

}

}

Public static void main (String[]args)

{

// Criando o objeto da classe no método main

soma obj1 = nova soma();

soma1=obj1.add(10,20);

soma2=obj1.add(10,55,5);

soma3=obj1.add(110,5,25,5);

soma4=obj1.add(10,20,30);

}

Leia também: Programas padrão em Java

Conclusão

Neste artigo, o Método de Sobrecarga em Java foi discutido em detalhes, explicando seus tipos, regras e vantagens. O tema foi explicado em profundidade com a ajuda de exemplos. Deixe-nos saber nos comentários se você tiver alguma dúvida sobre sobrecarga em Java.

Se você estiver interessado em aprender mais sobre Java, desenvolvimento de software full-stack, confira o PG Diploma in Full-stack do upGrad & IIIT-B, projetado para profissionais que trabalham e oferece mais de 500 horas de treinamento rigoroso, mais de 9 projetos , e atribuições, status de ex-alunos do IIIT-B, projetos práticos práticos e assistência de trabalho com as principais empresas.

Aterre no seu emprego dos sonhos

UPGRAD E DIPLOMA PG DO IIIT-BANGALORE EM DESENVOLVIMENTO DE SOFTWARE
Saber mais