PDA

Visualizza la versione completa : aiuto teoria: parametri attuali e parametri formali


Filippo11
20-01-2015, 12:01
ho già cercato, in internet e nel forum di html, una spiegazione per parametri attuali e parametri formali, ma sembra sempre che le spiegazioni siano fatte a loro volta con termini che non comprendo.

si dice paramentro attuale la variabile passata in una chiamata a metodo.

i parametri che appaiono nella dichiarazione del metodo sono detti parametri formali.




int speed = 10;

animale.cammina (speed);

class ANimale {int cammina (int velocità) {}

}




allora:
1) chiamata a metodo vuol dire accoppiare un metodo ad un oggetto, giusto?

2) che differenza c'è tra una chiamata a metodo e la dichiarazione del metodo?

grazie infinite

minomic
20-01-2015, 13:37
Ciao,
considera il seguente metodo, scritto in C



int somma(int a, int b) {
return (a+b);
}



Ora quei parametri a e b sono formali, e i loro nomi sono poco più che dei segnaposto. Se poi nel main faccio



...
int risultato = somma(1, 2);
printf("Il risultato e' %d\n", risultato);



allora sto richiamando il metodo, passando come parametri i valori 1 e 2. Questi sono parametri attuali, cioè quello che passo al metodo quando lo richiamo.

Chiamare un metodo non significa associarlo ad un oggetto ma semplicemente utilizzarlo per fare qualcosa (ad esempio elaborare dei dati e restituire un valore).

Spero che sia tutto chiaro. :ciauz:

Filippo11
20-01-2015, 13:54
grazie minomic .
allora, vediamo.. quando utilizzi il metodo (cioè quando lo chiami?) per fare qualcosa, i suoi parametri sono attuali.

un esempio di chiamata è fido.cammina().



ma non capisco a cosa serve invece la dichiarazione del metodo.

perché, se si chiama il metodo per fare qualcosa, dobbiamo anche definire lo stesso metodo all' interno di una classe (cioè la dichiarazione)?? a cosa serve?

grazie

minomic
20-01-2015, 13:57
Se tu non dichiari e definisci il metodo, allora dov'è che dici esplicitamente cosa quel metodo deve fare? Cioè cosa succede quando fai fido.cammina()? Chi lo stabilisce? La definizione del metodo, che contiene il codice che viene eseguito quando si richiama il metodo.

Invece la dichiarazione serve per dire che la classe di cui fa parte fido dispone di un metodo che si chiama cammina.

Filippo11
20-01-2015, 14:03
bisogna sempre dichiarare il metodo all' interno della sua classe?
in pratica se non erro, la dichiarazione descrive come opera il metodo, in modo astratto:



public class Math {
public static int min (int a, int b)
{if (a<b)
return a;
else
return b;}
...
...




la chiamata invece corrisponde all' utilizzo del metodo..

giusto?

Filippo11
20-01-2015, 14:05
grazie mille minomic, penso di aver capito!! :)

minomic
20-01-2015, 14:05
I passaggi sono tre:
- dichiarazione: fai sapere che quella classe dispone di un particolare metodo
- definizione: scrivi il codice associato al metodo, quindi definisci che cosa fa precisamente
- chiamata: richiami il metodo affinché faccia quello che deve fare

Loading