Diferença entre Sobrecarga e Substituição em Java

Diferença chave : Sobrecarga significa ter dois métodos da mesma classe com o mesmo nome e com diferentes tipos de parâmetros, enquanto que a substituição significa ter dois métodos diferentes na mesma classe com os mesmos tipos de parâmetros, mas com diferentes implementações.

Os métodos que sobrescrevem e sobrecarregam são dois conceitos ou técnicas usados ​​em linguagens de programação java. Ambos os conceitos permitem que o programador forneça diferentes implementações para métodos com o mesmo nome. Este artigo diferencia entre os dois conceitos de programação.

A sobrecarga de função ou sobrecarga de método permite criar vários métodos com o mesmo nome, na mesma classe, mas diferentes uns dos outros na entrada e no tipo de saída da função. É simplesmente definido como a capacidade de uma função para executar tarefas diferentes.

Na sobrecarga, as implementações do método compartilham o mesmo nome porque executam tarefas semelhantes. Além disso, a sobrecarga é considerada de natureza polimórfica. As funções que possuem diferentes implementações dependem de seus tipos de argumentos especificados. Geralmente é associado a linguagens de programação estáticas que impõem a verificação de tipos em chamadas de função. Também é considerado prático, pois permite ao programador escrever vários métodos diferentes na mesma classe. No entanto, ao sobrecarregar o processador de tempo de execução, o nome de todos os métodos sobrecarregados é alterado, o que pode ser um problema.

A substituição de métodos, na programação orientada a objetos, é um recurso que permite que uma subclasse ou classe filha forneça uma implementação específica de um método que já é fornecido por uma de suas superclasses ou classes principais. A implementação na subclasse substitui ou substitui a implementação na classe pai fornecendo um método com o mesmo nome, mesmos parâmetros ou assinatura e o mesmo tipo de retorno que o método na classe pai.

No método de substituição, as funções são codificadas para realizar tarefas específicas em um programa. Substituir depende da presença de uma função de classe base para sua aparência. Aqui, a função executada é determinada pelo objeto que é usado para invocá-la, ou seja, se um objeto de uma classe pai for usado para invocar o método, a função na classe pai será executada. Substituir é polimorfo na natureza; Ele ajuda a projetar programas baseados no primeiro parâmetro implícito, que pode ser resolvido em tempo de execução. Existem algumas linguagens em java que permitem que um programador evite que um método seja sobrescrito.

Comparação entre Sobrecarregar e Substituir:

Sobrecarga

Substituindo

Definição

Isso significa ter métodos da mesma classe com o mesmo nome, mas cada método tem parâmetros diferentes ou tem os mesmos parâmetros com tipos e ordens diferentes.

Isso significa ter uma subclasse com os mesmos métodos sob o mesmo nome e exatamente o mesmo tipo de parâmetros e o mesmo tipo de retorno que uma superclasse.

Significado

Isso significa que mais de um método compartilha o mesmo nome na mesma classe, mas possui uma assinatura diferente.

Isso significa que o método da classe base é redefinido na classe derivada com a mesma assinatura.

Comportamento

Adiciona ou estende ao comportamento dos métodos.

Altera o comportamento existente de um método.

Polimorfismo

É um polimorfismo no tempo de compilação.

É um polimorfismo de tempo de execução.

Método estático

O método estático pode ser sobrecarregado.

O método estático não pode ser substituído.

Ligação

Vínculo estático.

Ligação dinâmica.

Herança

Pode ou não exigir herança.

Sempre requer herança.

Associação

Geralmente é associado a linguagens de programa estáticas.

Geralmente é associado a programas orientados a objetos.

Assinatura

Métodos têm assinatura diferente.

Os métodos devem ter a mesma assinatura.

Rapidez

É mais rápido que ignorar.

É lento em comparação com a sobrecarga.

Classes

Não requer mais de uma classe para sobrecarga.

Requer pelo menos duas classes para sobrecarga.

Nível

Métodos podem ter qualquer nível de acesso.

Os métodos possuem um nível de acesso igual ou amplo.

Exemplo

Class Adicionar

{

soma int (int a, int b)

{

return a + b;

}

int sum (int a)

{

return a + 10;

}

}

Classe A // Super Classe

{

void display (int num)

{

print num;

}

}

// A classe B herda a classe A

Classe B // Subclasse

{

void display (int num)

{

print num;

}

}

Recomendado

Artigos Relacionados

  • diferença entre: Diferença entre Apartamento e Apartamento

    Diferença entre Apartamento e Apartamento

    Diferença chave: A principal diferença entre um apartamento e um apartamento é que o termo 'apartamento' é usado principalmente em inglês americano, enquanto 'apartamento' é usado em inglês britânico ou inglês. Ambos indicam um conjunto de quartos que estão no mesmo andar e devem ser usados ​​como residência pessoal. Embora seja r
  • diferença entre: Diferença entre Elk e Caribou

    Diferença entre Elk e Caribou

    Diferença chave: o alce e o caribu fazem parte da família dos cervos e, portanto, são bastante semelhantes entre si. No entanto, existem inúmeras diferenças entre eles também. Na maior parte da Europa, o alce é chamado de "wapiti", enquanto o caribu é conhecido como rena. Elk e Caribou fazem parte da família dos cervos e, portanto, são bastante semelhantes entre si. No entan
  • diferença entre: Diferença entre o iPad Mini e o iPad

    Diferença entre o iPad Mini e o iPad

    Diferença chave: O iPad Mini é um iPad 2 mais fino e elegante. O iPad Mini vem com um display multitoque retroiluminado por LED de 7, 9 polegadas com tecnologia IPS touchscreen revestido com material oleofóbico resistente a impressões digitais. Os iPads têm o tamanho de tela de 9, 7 polegadas com tela multitoque. Os
  • diferença entre: Diferença entre SAT e SAT Subject Tests

    Diferença entre SAT e SAT Subject Tests

    Diferença chave : A principal diferença entre os dois testes é que o SAT Reasoning Test é baseado em três assuntos que são matemática, leitura crítica e escrita, enquanto o SAT Subject Tests foca apenas em um assunto como História Americana, Física ou qualquer outro indivíduo. sujeito. Testes de matérias SAT e SAT são testes padronizados que são destinados a estudantes do ensino médio para medir sua prontidão para o trabalho em nível universitário. Esses testes são
  • diferença entre: Diferença entre Moonshine e Whiskey

    Diferença entre Moonshine e Whiskey

    Diferença chave: Moonshine é qualquer tipo de álcool que é produzido ilegalmente. O álcool produzido era mais comumente uísque ou rum. Whiskey é um tipo de bebida alcoólica destilada feita a partir de qualquer forma de mosto fermentado de grãos. Moonshine e whisky diferem uns dos outros na aparência, sabor, prova, sabor e higiene. Moonshin
  • diferença entre: Diferença entre o HTC First e o Nokia Lumia 720

    Diferença entre o HTC First e o Nokia Lumia 720

    Diferença chave: o HTC First é o primeiro telefone que será lançado rodando na interface de usuário do Facebook Home. O telefone será alimentado por um Qualcomm MSM8930 Snapdragon 400 1, 4 GHz dual-core Krait e 1 GB de RAM. O Nokia Lumia 720 é um dos mais novos telefones que são semelhantes ao seu carro-chefe Lumia 920. O Lumi
  • diferença entre: Diferença entre PHP e HTML

    Diferença entre PHP e HTML

    Diferença de chave: HyperText Markup Language (HTML) é uma linguagem de marcação bem conhecida usada para desenvolver páginas da web. PHP é uma linguagem de script do lado do servidor de código aberto. Ele é usado principalmente para desenvolvimento na Web e para produzir páginas da Web dinâmicas. O PHP é
  • diferença entre: Diferença entre o Nexus 4 e o Samsung Galaxy S3

    Diferença entre o Nexus 4 e o Samsung Galaxy S3

    Diferença chave: o Samsung Galaxy S3 é um smartphone multi-touch com formato de ardósia. É um sucessor do Galaxy S2 e Galaxy S, mas abandona o design retangular dos antecessores e opta por cantos mais arredondados, fazendo com que se pareça com o Galaxy Nexus. É oferecido com Android v4.0.4 (Ice Cream Sandwich) e pode ser atualizado para 4.1.2 (
  • diferença entre: Diferença entre rum e vodka

    Diferença entre rum e vodka

    Diferença chave: Os rum são bebidas alcoólicas destiladas feitas a partir de subprodutos de cana-de-açúcar, como melaço ou sucos de cana-de-açúcar. Semelhante à maioria das bebidas alcoólicas, o rum deve passar pelo processo de destilação, fermentação e envelhecimento. Vodka é uma destilada que é composta de água e etanol. É feito destila

Escolha Do Editor

Diferença entre o Nokia Lumia 720 e o XOLO X1000

Diferença de teclas: O Nokia Lumia 720 é um dos mais novos que são semelhantes ao seu carro-chefe Lumia 920. O Lumia 720 vem com processador Snapdragon S4 dual-core de 1 GHz com 512 MB de RAM e 8 GB de espaço de armazenamento interno que pode ser atualizado para 64 GB O telefone está disponível com uma câmera principal de 6, 7 MP com lentes Carl Zeiss, autofoco e flash LED. Ele t