A linguagem de programação Java é a melhor escolha quando se trata de . Com conceitos como Aulas , , , etc, torna-se extremamente fácil trabalhar com . A facilidade de acesso e a sintaxe fácil tornam o código eficiente e também menos complexo. Neste artigo, aprenderemos sobre sobrecarga e substituição de métodos em Java. A seguir estão os tópicos discutidos neste blog:
- O que é sobrecarga de método em Java?
- Por que sobrecarga de método?
- Exemplos de sobrecarga de método
- O que é Substituição de Método?
- Regras para substituição de métodos
- Exemplo de substituição de método
- Sobrecarga vs. Substituição: Diferenças entre Sobrecarga do Método e Substituição do Método
O que é sobrecarga de método em Java?
A sobrecarga de método permite que o método tenha o mesmo nome, que difere com base nos argumentos ou nos tipos de argumento. Pode estar relacionado ao polimorfismo em tempo de compilação. A seguir estão algumas dicas que devemos ter em mente ao sobrecarregar métodos em Java.
Não podemos sobrecarregar um tipo de retorno.
Embora possamos sobrecarregar , os argumentos ou parâmetros de entrada devem ser diferentes.
Não podemos sobrecarregar dois métodos se eles diferirem apenas por uma palavra-chave estática.
Como outros métodos estáticos, o método main () também pode ser sobrecarregado.
Vamos dar uma olhada em um programa simples para entender como funciona a sobrecarga de método em python.
public class Div {public int div (int a, int b) {return (a / b)} public int div (int a, int b, int c) {return ((a + b) / c)} public static void main (String args []) {Div ob = new Div () ob.div (10, 2) ob.div (10, 2, 3)}}
Resultado: 5 4
No programa acima, temos dois métodos com o mesmo nome, mas parâmetros diferentes. É assim que funciona a sobrecarga do método em .
Por que sobrecarga de método?
A principal vantagem de usar a sobrecarga de método em Java é que isso nos dá a liberdade de não definir uma função repetidamente para fazer a mesma coisa. No exemplo abaixo, os dois métodos estão basicamente executando a divisão, portanto, podemos ter métodos diferentes com o mesmo nome, mas com parâmetros diferentes. Também ajuda no polimorfismo em tempo de compilação.
Sobrecarregando o método main ():
A seguir está um exemplo para sobrecarregar o método main () em java.
public class Edureka {public static void main (String [] args) {System.out.println ('hello') Edureka.main ('edurekan')} public static void main (String arg1) {System.out.println (' bem-vindo '+ arg1) Edureka.main (' bem-vindo ',' para edureka ')} public static void main (String arg1, String arg2) {System.out.println (' hello ', + arg1, + arg2)}}
Resultado: ola bem vindo edurekan ola bem vindo a edureka
Exemplos de sobrecarga de método
- Programa para sobrecarregar métodos estáticos em java.
public class Test {public static int func (int a) {return 100} public static char func (int a, int b) {return 'edureka'} public static void main (String args []) {System.out.println ( função (1)) System.out.println (função (1,3))}}
Resultado: 100 edureka
- Programa para sobrecarregar três métodos com o mesmo nome.
public class Add {public int add (int a, int b) {return (a + b)} public int add (int a, int b, int c) {return (a + b + c)} public double add (double a, double b) {return (a + b)} public static void main (String args []) {Add ob = new Add () ob.add (15,25) ob.add (15,25,35) ob .add (11.5, 22.5)}}
Resultado: 40 75 34
O que é método substituindo em Java?
A herança em java envolve um relacionamento entre as classes pai e filho. Sempre que ambas as classes contêm métodos com o mesmo nome e argumentos ou parâmetros, é certo que um dos métodos substituirá o outro método durante a execução. O método que será executado depende do objeto.
Se o objeto da classe filha chamar o método, o método da classe filha substituirá o método da classe pai. Caso contrário, se o objeto da classe pai chamar o método, o método da classe pai será executado.
A substituição de método também ajuda na implementação do polimorfismo de tempo de execução em java. Vamos dar um exemplo simples para entender como a substituição de método funciona em java.
class Parent {void view () {System.out.println ('este é um método de classe pai)}} class Child extends Parent {void view () {System.out.println (' este é um método de classe filho)}} public static void main (String args []) {Parent ob = new Parent () ob.view () Parent ob1 = new Child () ob1.view ()
Resultado: este é um método de classe filho
Regras para substituição de métodos
o acessar editar só pode permitir mais acesso para o método substituído.
PARA final método não suporta a substituição de método.
Um método estático não pode ser substituído.
c ++ usando namespace
Os métodos privados não podem ser substituídos.
O tipo de retorno do método de substituição deve ser o mesmo.
Podemos chamar o método da classe pai no método de substituição usando a palavra-chave super.
PARA construtor não pode ser substituído porque uma classe filha e uma classe pai não podem ter o construtor com o mesmo nome.
Exemplo de substituição de método
- Programa para mostrar a substituição usando superpalavra-chave
class Parent {void show () {System.out.println ('método de classe pai')} class Child estende Parent {void show () {super.show () System.out.println ('método de classe filho')} public static void main (String args []) {Parent ob = new Child () ob.show ()}}
Resultado: método de classe pai método de classe filho
Sobrecarga vs Substituição: Diferença entre Sobrecarga do Método e Substituição do Método
A seguir estão as principais diferenças entre sobrecarga e substituição de método em Java.
Sobrecarga de método | Substituição de método |
|
|
|
|
|
|
|
|
|
|
|
|
Neste blog, discutimos a sobrecarga e a substituição de métodos em detalhes. Com o envolvimento de classes, objetos e conceitos como herança e polimorfismo, torna-se bastante importante ter uma ideia clara do que significa sobrecarregar ou substituir métodos em java.
A linguagem de programação Java é o ápice da programação orientada a objetos e incorpora muitos aplicativos. Com a demanda e a popularidade, um aspirante a desenvolvedor Java deve ser proficiente nos conceitos fundamentais da linguagem de programação. Inscreva-se no Edureka's para iniciar seu aprendizado.
Tem alguma questão para nós? mencione isso na seção de comentários deste artigo sobre “sobrecarga de método vs sobrescrita de método em java” e entraremos em contato com você o mais breve possível.