Diferença entre sobrecarga e substituição Diferença entre

Anonim

sobrecarga vs substituição

Sobrecarga e substituição são ambos os recursos da maioria das linguagens de programação. A sobrecarga é um recurso que permite a criação de vários métodos com o mesmo nome, na mesma classe, mas que diferem um do outro em termos do tipo de entrada e do tipo de saída da função. A sobrecarga do método geralmente está associada a linguagens de programação estáticas que exigem verificação de tipo em chamadas de função. Estes são provavelmente relacionados com VB,. Net, C ++, D, Java, etc. A substituição é uma habilidade primária usada para programação orientada a objetos e é feita quando um usuário redefine um método que já foi definido em uma classe existente ou pai. Nesta técnica de programação, os scripts são codificados para realizar tarefas específicas ao permitir que um script seja escrito em uma subclasse ou menor para implementar um método ou conjunto de instruções que já foram estabelecidas em qualquer uma das classes pai ou superior.

Na programação de computadores, a sobrecarga se originou de um método com mais de uma definição no mesmo escopo e compartilha o mesmo nome, mas com a assinatura diferente. As implementações do método compartilham o mesmo nome porque eles executarão tarefas semelhantes. A sobrecarga também é identificada devido ao seu reconhecimento como um caso de polimorfismo, em que alguns ou todos os operadores podem ter implementações diferentes que dependem dos tipos de argumento especificados. A substituição depende da presença de uma função de classe base para sua aparência. O recurso de idioma A substituição que permite que uma classe filho implemente um método que já é usado por uma de suas classes de superclasse ou pai, permite que o método de subclasse atribua o mesmo nome, lista de parâmetros e tipo de retorno ou assinatura que o método substituído usado na superclasse tem.

A sobrecarga é considerada prática porque permite que os programadores escrevam uma série de métodos diferentes que tenham o mesmo nome. A sobrecarga pode ter algumas conseqüências para um idioma, porque em tempo de execução o processador altera o nome de todos os métodos sobrecarregados. É resolvido em tempo de compilação. Embora a substituição é um polimorfismo que é projetado na base do primeiro parâmetro implícito que é resolvido no tempo de execução.

Resumo:

O termo sobrecarga geralmente é associado a linguagens estaticamente programadas e a popularidade obtida na programação orientada a objetos.

Um método em uma classe com o mesmo nome de método com assinatura diferente é designado como um método de sobrecarga. Substituindo conhecido como um método em uma classe com o mesmo nome de método e mesmo argumento / assinatura.

A sobrecarga compartilha uma relação uniforme entre os métodos disponíveis na mesma classe, enquanto que na substituição, a relação entre um método de superclasse e um método de subclasse é criada.

A sobrecarga permite a herança da superclasse.

Na substituição, o método da subclasse ocupa o lugar da superclasse.

A sobrecarga deve ter assinatura de método diferente, enquanto a substituição deve alocar a mesma assinatura.