Qual è la differenza tra una variabile e un parametro? [chiuso]

3

È una domanda concettuale. Ma mi piacerebbe usare il termine giusto nel posto giusto. Questo è il motivo per cui vorrei leggere altre opinioni su questo.

    
posta Cemre Uludag 12.02.2015 - 14:05
fonte

3 risposte

2

In parole semplici:

  • Immagina una funzione come una scatola nera.
  • Non sai come funziona la scatola nera
  • Sai solo cosa fa la scatola nera, ma non come
  • La scatola nera ha bisogno di qualcosa su cui lavorare, che devi fornire
  • La scatola nera ti dà qualcosa in cambio
  • Quella cosa che fornisci alla scatola nera è un parametro
  • Le informazioni che non conosci, che la scatola nera usa per fare il suo lavoro, sono variabili
  • Ma hey !, per te (il chiamante), la cosa che dai alla scatola nera può essere una tua variabile, che usi per fare il tuo lavoro.
  • Puoi anche dare una letterale alla scatola nera, cioè, anziché passare la variabile personName potresti passarla a "Peter". La scatola nera non sa se l'hai passata una variabile o una letterale. Una volta all'interno della scatola nera, è una variabile vista dalla prospettiva della scatola nera.
  • Finalmente la scatola nera ti restituisce qualcosa, che è chiamato "valore di ritorno", che puoi inserire in una variabile o la tua, oppure no, oppure puoi passare ad un'altra casella come parametro.
  • Alcune scatole nere non hanno bisogno che tu passi loro nulla.
  • Alcune caselle nere non restituiscono nulla e la gente le chiama "metodi".
  • Alcuni chiamano parametri "argomenti".
risposta data 12.02.2015 - 14:24
fonte
1

I parametri sono variabili che esistono solo all'interno di un metodo e sono inizializzate automaticamente con i valori passati al metodo.

    
risposta data 12.02.2015 - 14:09
fonte
0

I parametri possono essere usati come un tipo speciale di variabile, ma la differenza fondamentale è scope : che una variabile è locale (esiste solo all'interno del metodo corrente), mentre un parametro è esterno: viene passato al metodo dal chiamante. Ciò significa che, se il parametro viene passato per riferimento (includendo essenzialmente qualsiasi tipo di oggetto), le modifiche al parametro si rifletteranno nel codice chiamante una volta che il metodo è stato chiuso, mentre qualsiasi cosa fatta a una variabile locale non vada oltre il metodo. (A meno che non venga passato altrove e conservato, ovviamente.)

    
risposta data 12.02.2015 - 14:09
fonte

Leggi altre domande sui tag