PDA

Visualizza la versione completa : Java - Parametri opzionali dichiarazione classi


mnkt
17-02-2004, 10:56
ciao,

come si fa quando si dichiara una classe a passare un parametro opzionale

es.

public class pippo (String a, String b, int z)

z deve essere opzionale....

può capitare anche che debba assumere un valore di default....

Grazie
:ciauz:

claudiosala80
17-02-2004, 11:42
come passare parametri alla classe?io sapevo che i parametri si passano al contruttore a agli altri metodi della classe.... :confused:
ciao

mnkt
17-02-2004, 11:55
in delphi, quando dichiari una funzione,
puoi passare dei parametri opzionali o per riferimento:

function pippo (a: integer = 0); -> opzionale per default assume 0
function pippo (var a: integer); -> parametro per riferimento

esiste, quando si dichiara una classe, la possibilità di fare una cosa del genere???

Grazie
:ciauz:

claudiosala80
17-02-2004, 12:37
che io sappia quando dichiari una classe la dichiari e basta
poi dentro puoi metterci delle variabili e delle funzioni a cui puoi passare dei parameri
tipo

public class prova {
int variabile;

Xadoom
17-02-2004, 12:37
Non sono sicuro ma in Java non l'ho mai visto fare, cosa molto più comune per avere lo stesso risultato è l'overloading del costruttore: definisci più costruttori per la stessa classe ognuno dei quali prenda diversi(in tipo e numero) costruttori, in questo modo all'evenienza puoi inizializzare il tuo ogetto come ti serve, semplicemente chiamando il costruttore più adatto!
Ciao

claudiosala80
17-02-2004, 12:38
che io sappia quando dichiari una classe la dichiari e basta
poi dentro puoi metterci delle variabili e delle funzioni a cui puoi passare dei parameri
tipo

public class prova {
int variabile;


public void metodo1(int a, char b) {
}
}

e via dicendo

LeleFT
17-02-2004, 13:42
Quelal dichiarazione di funzione / costruttore è tipica della sintassi C/C++ e, a quanto pare, esiste anche in Delphi. In Java non esiste quella sintassi. Per poter avere dei parametri "opzionali" devi fare come ti ha già detto Xadoom, ossia utilizzare l'overload.


public void mioMetodo(int a, int b) {
varA = a;
varB = b;
}

public void mioMetodo(int a) {
varA = a;
varB = <valore di default>;
}

La stessa cosa si applica ai costruttori. Vale per tutti i metodi, con qualsiasi modificatore e tipo di ritorno.

Un'alternativa al secondo metodo che ho scritto è la seguente:


public void mioMetodo(int a) {
mioMetodo(a, <valore di default>);
}

// Questo, invece, per i costruttori:
public MioCostruttore(int a) {
this(a, <valore di default>);
}


Ciao. :ciauz:

Loading