PDA

Visualizza la versione completa : Java passaggio parametri


denis_gottardello
30-12-2002, 23:54
E' possibile passare classi intere mediante serializzazione?

Zero-2
31-12-2002, 00:14
:master:
Dove vuoi passare classi intere??
Spiegati un pò meglio , perchè o sono io e data l'ora tarda posso anche non capire , o hai formulato male la domanda:)
Io protenderei per la prima:D:D

Sergio Pedone
31-12-2002, 00:47
Originariamente inviato da denis_gottardello
E' possibile passare classi intere mediante serializzazione?

La classe è un modello, un concetto.
Esistono 'solo' gli oggetti.
La serializzazione prevede 'solo' oggetti.

:)

blinkago
31-12-2002, 12:09
Si potrebbe passare il Bytecode della classe con un OutputStream e poi salvarla su disco e istanziarla con la reflection!!!

denis_gottardello
31-12-2002, 13:03
Spiego meglio.
Ho creato una piccola classe che viene instanziata dal client all'interno della quale vado ad instanziare dei vettori ed oggetti simili.
Nella classe di interfaccia RMI ho dichiarato che esiste un metodo che passa come parametro una classe come quella spiegata in oggetto.
Compilo il tutto senza problemi.
In esecuzione però il metodo che implementa l'interfaccia RMI, il quale viene invocato dal client e che accetta come parametro la classe descritta poco fa non riesce ad accedere agli oggetti, ai vettori di cui la classe è composta. Nn ottengo però nemmeno un errore.
La cosa funziona normalmente se però mi limito a passare unicamente vettori, oppure pulsanti, ma nn con classi intere.

Concludendo avrei bisogno di sapere che genere di oggetti si possono passare come parametri ad un metodo che implementa un'interfaccia RMI. Nn ho trovato documentazione in proposito.

Saluto, Denis.

denis_gottardello
31-12-2002, 16:46
Ora ho le idee un po' più chiare! Devo sapere come passare un oggetto per riferimento anziché per valore.

blinkago
31-12-2002, 17:19
Originariamente inviato da denis_gottardello
Ora ho le idee un po' più chiare! Devo sapere come passare un oggetto per riferimento anziché per valore.


E un casino!!!:master:

Non chiedermi come si fa x' non sono pratico di queste cose, ma credo che si possa!!!:gren:

Sergio Pedone
31-12-2002, 19:47
Originariamente inviato da denis_gottardello
Ora ho le idee un po' più chiare! Devo sapere come passare un oggetto per riferimento anziché per valore.

Non vorrei dire un fesseria, ma gli oggetti in Java vengono passati sempre per riferimento. Un oggetto ricevuto come parametro in una funzione riflette le proprie modifiche all'esterno.
Per passare una copia (passaggio per valore) dell'oggetto, potrebbe essere necessario una copia profonda dell'oggetto.

:ciauz:

Zero-2
01-01-2003, 13:11
Non vorrei dire un fesseria, ma gli oggetti in Java vengono passati sempre per riferimento. Un oggetto ricevuto come parametro in una funzione riflette le proprie modifiche all'esterno.

Si , è vero.
se scrivo
String ciao ="CIAO";
faiQualcosa(s);

....

public static void faiQualcosa(String s){
String tmp=s;
tmp+="MONDO";//Modifica anche la Stringa ciao che è presente nella
//funzione dalla quale è stato chiamato il metodo faiQualcosa
//La soluzione sarebbe quella di creare una nuova istanza di
//quell'oggetto. In questo caso :

String tmp=new String(s);
tmp+="MONDO";
//Le mdofiche sono apportate solo alla variabile tmp e non vengono
//riflesse all'esterno.
}

denis_gottardello
01-01-2003, 14:39
Concordo per oggetti nn invocati tramite Rmi. Ho verificato infatti che una funzione invocata su un server Rmi che accetta un oggetto in ingresso in effetti ne fa una copia. Quindi sul server avremo una copia dell'oggetto proveniente dal client, ma i due sono scollegati tra loro.

Loading