Domanda:
Qual è la differenza tra Parametro Formale e Parametro attuale?
Ivan
2011-11-21 10:28:14 UTC
Qual è la differenza tra Parametro Formale e Parametro attuale?
NOn ho capito questa cosa perciò vi chiedo di speigarmela magari con degli esempi in modo che io possa capire meglio...
Grazie a tutti anticipatamente! :D
Tre risposte:
?
2011-11-21 10:30:08 UTC
I parametri formali sono quelli dichiarati per tipo, numero e ordine nella definizione del metodo, mentre i parametri attuali sono quelli che vengono passati al metodo all’atto della chiamata. In Java il passaggio dei parametri avviene sempre e soltanto per valore; ciò significa che, all’atto dell’invocazione di un metodo, ogni parametro formale è inizializzato con il valore del corrispondente parametro attuale. In pratica è come se all’atto dell’invocazione del metodo a ogni parametro formale fosse assegnato il corrispondente parametro attuale per mezzo dell’operatore =. Fra parametri formali e attuali non è quindi necessario che esista una corrispondenza di tipo puntuale, ma deve esistere una corrispondenza tale da permettere la corretta esecuzione degli assegnamenti. Rifacendosi agli esempi precedenti, il codice a = area (3, 4, 'T');non crea nessun problema anche se i primi due parametri sono di tipo int anziché float, mentre se scriviamo



a = area (3.0, 4.0, 'T');

otteniamo un errore in compilazione in quanto i primi due parametri sono di tipo double e non è consentito assegnare un double a un float senza un cast.

Il fatto che i parametri attuali vengano copiati nei parametri formali implica che qualsiasi modifica venga fatta su questi ultimi, non va a incidere in nessun modo sui parametri attuali. Nell’esempio

class Parametri1

{

public static void main (String argv[]) {

double d = 30;

f (d);

System.out.println (d);

}

static void f (double d) {

d = 0;

}

}
BluNotte
2011-11-21 18:37:50 UTC
Il parametro formale è il nome che la funzione da al parametro.

es. int main(int argc, char* argv[]);

argc e argv sono i parametri formali.



Il parametro attuale è il valore che quel parametro assume al momento della chiamata della funzione, cioè il valore che viene passato dal chiamante.

quando chiamo il tuo programma con

programma.exe pippo pluto minnie

i parametri attuali saranno argc=4 e argv={"programma.exe", "pippo", "pluto", "minnie"}
Mary
2011-11-21 18:35:03 UTC
Mi fa tenerezza leggere queste tue parole.. perchè mi vengono in mente gli intervalli dell'anno scorso passati a cercare di ricordare cose mai sentite, che però se rifletti sono di una banalità allucinante!!

Dunque.. i parametri riguardano la programmazione fatta con i sottoprogrammi, che possono avere delle loro variabili, o usare quelle del programma principale.

Un sottoprogramma ha quindi i suoi parametri (formali) mentre il programma principale ha i parametri attuali.

Un dettaglio: spesso questi parametri si dichiarano con nomi diversi.. perchè quello che conta è il numero, il tipo e l'ordine.



un esempio:



void esempio(int c, int d)



main() {

int a,b;

esempio(a,b);

getch();

}





alla prossima!!

Spero che tu abbia capito :)


Questo contenuto è stato originariamente pubblicato su Y! Answers, un sito di domande e risposte chiuso nel 2021.
Loading...