Ao falar verbalmente sobre métodos, nunca tenho certeza se deve usar a palavra argumento ou parâmetro ou qualquer outra coisa. De qualquer maneira, as outras pessoas sabem o que quero dizer, mas o que é correto e qual é a história dos termos?
Sou programador em C #, mas também me pergunto se as pessoas usam termos diferentes em diferentes idiomas.
Para o registro, eu sou autodidata sem formação em Ciência da Computação. (Por favor, não me diga para ler o Código Completo, porque estou pedindo isso em benefício de outras pessoas que ainda não têm uma cópia do maravilhoso livro de Steve McConnell .)
Sumário
O consenso geral parece ser aceitável usar esses termos de forma intercambiável em um ambiente de equipe. Exceto, talvez, quando você estiver definindo a terminologia precisa; então você também pode usar " argumento / parâmetro formal " e " argumento / parâmetro real " para desambiguar.
fonte
Respostas:
Um parâmetro é uma variável em uma definição de método. Quando um método é chamado, os argumentos são os dados que você passa para os parâmetros do método.
fonte
Parâmetro é variável na declaração de função.
Argumento é o valor real dessa variável que é passada para a função.
fonte
*args
ouARGV
e não*params
:-)*params
seria o nome de uma variável que deve conter os nomes dos parâmetros (talvez usados para introspecção).*args
declara um parâmetroargs
cujo valor é uma lista (nome e tipo conhecido no momento da declaração) dos argumentos (cujo número é conhecido apenas no momento da chamada).Já existe uma entrada da Wikipedia sobre o assunto (consulte Parâmetro ) que define e distingue os termos parâmetro e argumento . Em resumo, um parâmetro faz parte da função / procedimento / assinatura do método e um argumento é o valor real fornecido no tempo de execução e / ou no site de chamada do parâmetro.
O artigo da Wikipedia também afirma que os dois termos são frequentemente usados como sinônimos (especialmente quando se pensa em código informalmente):
Dado o exemplo de função a seguir em C, que adiciona dois números inteiros
x
ey
seria referido como seus parâmetros:Em um site de chamadas usando
add
, como no exemplo mostrado abaixo, 123 e 456 seriam chamados de argumentos da chamada.Além disso, algumas especificações de linguagem (ou documentação formal) optam por usar parâmetros ou argumentos exclusivamente e usam adjetivos como formal e real para desambiguar os dois casos. Por exemplo, a documentação do C / C ++ geralmente se refere a parâmetros de função como argumentos formais e argumentos de chamada de função como argumentos reais . Para um exemplo, consulte " Argumentos formais e reais " na Referência de linguagem do Visual C ++ .
fonte
Simples:
fonte
Um parâmetro é algo que você precisa preencher quando chama uma função. O que você coloca nele é o argumento.
Basta definir: o argumento entra no parâmetro, um argumento é o valor do parâmetro.
Um pouco mais de informação em: http://en.wikipedia.org/wiki/Parameter_(computer_science)#Parameters_and_arguments
fonte
Parâmetro é variável na declaração de função.
Argumento é o valor real dessa variável que é passada para a função.
fonte
MCSD Cerfification Toolkit (Exame 70-483) Programação em C # , 1ª edição, Wrox, 2013
Cenário do caso real
fonte
Na edição, muitas vezes fico desanimado com o modo como as pessoas esquecem: as linguagens de estrutura são baseadas em linguagens naturais.
Em inglês
Um "parâmetro" é um espaço reservado. Eles definem o formato da resposta, no idioma falado. Por definição, é parte da chamada, limitando a resposta.
Um "argumento" é uma posição que está sendo considerada. Você argumenta sua opinião: considera uma discussão.
Principal diferença
O papel temático de um argumento é agente. O papel temático do parâmetro é destinatário.
Interações
Pense no argumento como a parte masculina, tornando o parâmetro a parte feminina. O argumento entra no parâmetro
Uso
Um parâmetro é geralmente usado em definições. Um argumento é geralmente usado em invocações.
Questões
Termine a frase para torná-la menos dissonante.
(A) Falando de uma definição:
(B) Falando de uma invocação:
Respostas
(UMA)
(B)
Sobreposições
Como você pode imaginar, depois de responder: na linguagem falada, essas palavras às vezes produzem respostas idênticas!
Então, como regra:
Geralmente, se alguém deseja informações sobre parâmetros, deseja saber mais sobre o tipo, o nome da variável etc. Eles podem ficar confusos se você der apenas argumentos de exemplo.
fonte
Este exemplo pode ajudar.
fonte
Lembre-se sempre de que: - Os argumentos são passados enquanto os parâmetros são recebidos.
fonte
Os parâmetros de uma função / método descrevem para você os valores que ela usa para calcular seu resultado.
Os argumentos de uma função são os valores atribuídos a esses parâmetros durante uma chamada específica da função / método.
fonte
Ou pode ser ainda mais simples lembrar assim, no caso de argumentos opcionais para um método:
parameter
é o parâmetro, seu valor,"argument"
é o argumento :)fonte
Digamos que você é uma companhia aérea. Você constrói um avião. Você instala assentos nele. Em seguida, você enche o avião com passageiros e o envia para algum lugar. Os passageiros (ou melhor, alguma versão espaço-temporalmente alterada) desembarcam. No dia seguinte, você reutiliza o mesmo avião e os mesmos assentos, mas desta vez com passageiros diferentes.
O avião é sua função.
Os parâmetros são os assentos.
Os argumentos são os passageiros que vão nesses lugares.
fonte
Parâmetros e argumentos
Fonte: C ++ absoluto, Walter Savitch
Isso é,
fonte
Os termos são um tanto intercambiáveis. A distinção descrito em outras respostas é mais apropriadamente expressa com os termos parâmetro formal para o nome usado dentro do corpo da função e parâmetro para o valor fornecido no site da chamada ( argumento formal e argumento também são comuns).
Observe também que, em matemática, o termo argumento é muito mais comum e parâmetro geralmente significa algo bem diferente (embora o parâmetro em uma equação paramétrica seja essencialmente o argumento para duas ou mais funções).
fonte
Um argumento é uma instanciação de um parâmetro.
fonte
Sim! Parâmetros e argumentos têm significados diferentes, que podem ser facilmente explicados da seguinte maneira:
Parâmetros da função são os nomes listados na definição da função.
Argumentos da função são os valores reais passados (e recebidos pela) pela função.
fonte
Explicações simples sem código
Um "parâmetro" é uma coisa muito geral e ampla, mas um "argumento: é uma coisa muito específica e concreta. Isso é melhor ilustrado através de exemplos cotidianos:
Exemplo 1: Máquinas de venda automática - Dinheiro é o parâmetro, $ 2,00 é o argumento
A maioria das máquinas recebe uma entrada e retorna uma saída. Por exemplo, uma máquina de venda automática usa como entrada: dinheiro e retorna: bebidas com gás como saída. Nesse caso em particular, ele aceita como parâmetro: dinheiro.
Qual é então o argumento? Bem, se eu colocar $ 2,00 na máquina, o argumento é: $ 2,00 - é a entrada muito específica usada.
Exemplo 2: Carros - Gasolina é o parâmetro
Vamos considerar um carro: eles aceitam gasolina (gasolina sem chumbo) como insumo. Pode-se dizer que essas máquinas aceitam parâmetros do tipo: gasolina. O argumento seria a informação exata e concreta que coloquei no meu carro. Por exemplo, no meu caso, o argumento seria: 40 litros de gasolina sem chumbo / gasolina.
Exemplo 3 - Elaboração de Argumentos
Um argumento é um exemplo particular e específico de uma entrada. Suponha que minha máquina pegue uma pessoa como entrada e a transforme em alguém que não é mentiroso.
O que é então um argumento? O argumento será a pessoa em particular que é realmente colocada na máquina. por exemplo, se Colin Powell for colocado na máquina, o argumento seria Colin Powell.
Portanto, o parâmetro seria uma pessoa como um conceito abstrato, mas o argumento sempre seria uma pessoa em particular com um nome específico que é colocado na máquina. O argumento é específico e concreto.
Essa é a diferença. Simples.
Confuso?
Poste um comentário e eu solucionarei a explicação.
fonte
Ou ainda mais simples ...
Argumentos em!
Parâmetros fora!
fonte
Ambos não têm muita diferença no uso em C, ambos os termos são usados na prática. Os argumentos são geralmente usados com funções. O valor passado com a instrução de chamada de função é chamado de argumento, e o parâmetro seria a variável que copia o valor na definição de função (chamada como parâmetro formal).
No código acima
num1
enum2
são parâmetros formais ea
eb
são argumentos reais.fonte
Os tutoriais Java da Oracle definem essa distinção da seguinte maneira: "Parâmetros se referem à lista de variáveis em uma declaração de método. Argumentos são os valores reais passados quando o método é chamado. Quando você invoca um método, os argumentos usados devem corresponder aos parâmetros da declaração em tipo e ordem ".
Uma discussão mais detalhada sobre parâmetros e argumentos: https://docs.oracle.com/javase/tutorial/java/javaOO/arguments.html
fonte
Logicamente falando, na verdade estamos falando da mesma coisa. Mas acho que uma simples metáfora seria útil para resolver esse dilema.
Se as metáforas puderem ser chamadas de vários pontos de conexão, podemos equipará-las a pontos na parede. Nesse caso, podemos considerar parâmetros e argumentos da seguinte maneira;
Parâmetros são os soquetes do ponto de encaixe que podem assumir várias formas diferentes. Mas apenas certos tipos de plugues se encaixam neles.
Os argumentos serão os plugues reais que seriam conectados aos pontos / soquetes para ativar determinados equipamentos.
fonte
Parâmetro é uma variável em uma definição de função
Argumento é um valor de parâmetro
fonte
De um modo geral, os termos parâmetro e argumento são usados alternadamente para significar informações que são passadas para uma função.
No entanto, da perspectiva de uma função:
fonte
Quando criamos o método (função) em Java, o método é o seguinte.
data-type name of the method (data-type variable-name)
Entre parênteses, esses são os parâmetros e, quando chamamos o método (function), passamos o valor desse parâmetro, que é chamado de argumento.
fonte
De acordo com o livro de Joseph Alabahari "C # em poucas palavras" (C # 7.0, p. 49):
Em algumas línguas humanas (em italiano, russo), os sinônimos são amplamente usados para esses termos.
Na minha universidade, os professores usam os dois tipos de nomes.
fonte
Os parâmetros são as variáveis recebidas por uma função e, portanto, são visíveis na declaração da função. Eles contêm o nome da variável com seu tipo de dados. Argumentos são valores reais que são passados para outra função. é por isso que podemos vê-los na chamada de função. Eles são apenas valores sem o tipo de dados
fonte
Os parâmetros formais para uma função estão listados na declaração da função e são usados no corpo da definição da função. Um parâmetro formal (de qualquer tipo) é um tipo de espaço em branco ou espaço reservado preenchido com alguma coisa quando a função é chamada.
Um argumento é algo que é usado para preencher um parâmetro formal. Quando você anota uma chamada de função, os argumentos são listados entre parênteses após o nome da função. Quando a chamada de função é executada, os argumentos são plugados para os parâmetros formais.
Os termos chamada por valor e chamada por referência referem - se ao mecanismo usado no processo de plug-in. No método de chamada por valor, apenas o valor do argumento é usado. Nesse mecanismo de chamada por valor, o parâmetro formal é uma variável local que é inicializada com o valor do argumento correspondente. No mecanismo de chamada por referência, o argumento é uma variável e a variável inteira é usada. No mecanismo de chamada por referência, a variável argumento é substituída pelo parâmetro formal, para que qualquer alteração feita no parâmetro formal seja realmente feita na variável argumento.
fonte
Parâmetros são variáveis que são usadas para armazenar os dados que são passados para uma função para a função usar. Argumentos são os dados reais que são passados para uma função quando são invocados:
fonte
Eu pensei sobre isso e percebi que minha resposta anterior estava errada. Aqui está uma definição muito melhor
{ Imagine uma caixa de ovos: um pacote de salsichas: e uma empregada } Estes representam elementos de uma função necessária para a preparação chamada: (use qualquer nome: digamos que cozinhar é o nome da minha função).
Uma empregada doméstica é um método.
(Você deve telefonar ou pedir a esse método para fazer o café da manhã) (O ato de fazer o café da manhã é uma Função chamada Cozinhar ) _
Ovos e salsichas são parâmetros:
(porque o número de ovos e o número de salsichas que você deseja comer são __variáveis_.) _
Sua decisão é um argumento:
Representa o __Valor_ do número escolhido de ovos e / ou salsichas que você está cozinhando ._
{ Mnemônico }
_ "Quando você liga para a empregada e pede que ela faça o café da manhã, ela discute com você quantos ovos e salsichas você deve comer. Ela está preocupada com o seu colesterol" __
(Argumentos, então, são os valores para a combinação de Parâmetros que você declarou e decidiu passar para sua Função)
fonte