La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

I metodi F. Bombi 20.10.2003. Campi e metodi Abbiamo visto che una classe può contenere – Campi – Metodi stato I campi sono utilizzati per memorizzare.

Presentazioni simili


Presentazione sul tema: "I metodi F. Bombi 20.10.2003. Campi e metodi Abbiamo visto che una classe può contenere – Campi – Metodi stato I campi sono utilizzati per memorizzare."— Transcript della presentazione:

1 I metodi F. Bombi 20.10.2003

2 Campi e metodi Abbiamo visto che una classe può contenere – Campi – Metodi stato I campi sono utilizzati per memorizzare lo stato di un oggetto esemplare della classe variabili distanza Dei campi esiste una copia per ogni oggetto esemplare (o istanza) della classe. I campi rappresentano quindi delle variabile presenti nellesemplare (variabili distanza) in contrasto con le variabili dichiarate allinterno di un blocco di codice che vengono detta variabili locali

3 I metodi Un metodo è un segmento di codice scritto con il seguente formato [modificatori] Tipo nomeMetodo ([parametro1, parametro2, …]) [throws ecc1, ecc2, …] { corpo del metodo } I modificatori possono essere – [] oppure static – [] oppure public, private, protected

4 I metodi (segue) Il Tipo indica di che tipo sarà il valore eventualmente reso dal metodo alla sua conclusione – void quando il metodo non restituisce un valore – Tipo primitivo quando il metodo restituisce un valore – Nome di una classe quando il metodo restituisce un riferimento Se il metodo non è void deve terminare con unistruzione return espressione; e lespressione deve assumere il valore che si vuole che il metodo restituisca alla sua conclusione

5 Come si attiva un metodo Un metodo viene attivato con unespressione del tipo riferimento.nomeMetodo(argomento1, argomento2, …) parametro implicito variabili distanza Il riferimento con il quale si attiva un metodo deve puntare ad un oggetto esemplare della classe che contiene il metodo e viene detto parametro implicito, per il suo tramite il metodo ha accesso alle variabili distanza della classe actual paramter formal parameter Gli argomenti (detti qualche volta actual paramter) sono espressioni utilizzate per inizializzare i parametri del metodo (detti anche formal parameter) Un metodo riceve quindi – In ingresso: i valori degli eventuali argomenti – In ingresso e usciti: loggetto cui si riferisce il parametro implicito – In uscita: il valore di ritorno

6 Il passaggio dei parametri In generale alla chiamata di un sottoprogramma è possibile prevedere che i parametri siano passati per – Riferimento – Valore Alcuni linguaggi (ad es. Pascal, C++) prevedono sia il passaggio per riferimento che per valore, Java prevede solo il passaggio dei parametri per valore unidirazionale In Java il meccanismo del passaggio dei parametri è quindi unidirazionale, in altri termini non è possibile restituire un valore tramite un parametro

7 public class SelezioneInteri { private int[] v; private int n; public SelezioneInteri () {} public SelezioneInteri (int[] x, int y) { v = x; n = y; } public void ordina () { for (int i = 0; i < (n-1); i++) { int piccolo = i; for (int j = i+1; j < n; j++) if (v[j] < v[piccolo]) piccolo = j; int temp = v[piccolo]; v[piccolo] = v[i]; v[i] = temp; } public void ordina (int y) { n = y; ordina(); } public void ordina (int[] x, int y) { v = x; n = y; ordina(); } public class SelezioneInteri { private int[] v; private int n; public SelezioneInteri () {} public SelezioneInteri (int[] x, int y) { v = x; n = y; } public void ordina () { for (int i = 0; i < (n-1); i++) { int piccolo = i; for (int j = i+1; j < n; j++) if (v[j] < v[piccolo]) piccolo = j; scambia(v[piccolo], v[i]); } private void scambia (int x, int y) { int tmp = x; x = y; y = tmp; } public void ordina (int y) … } public void ordina (int[] x, int y){… } } public class SelezioneInteri { private int[] v; private int n; public SelezioneInteri () {} public SelezioneInteri (int[] x, int y) { v = x; n = y; } public void ordina () { for (int i = 0; i < (n-1); i++) { int piccolo = i; for (int j = i+1; j < n; j++) if (v[j] < v[piccolo]) piccolo = j; scambia(piccolo, i); } private void scambia (int x, int y) { int tmp = v[x]; v[x] = v[y]; v[y] = tmp; } public void ordina (int y) … } public void ordina (int[] x, int y){… } }


Scaricare ppt "I metodi F. Bombi 20.10.2003. Campi e metodi Abbiamo visto che una classe può contenere – Campi – Metodi stato I campi sono utilizzati per memorizzare."

Presentazioni simili


Annunci Google