|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Mar 2002
Città: Tavarnelle Val di Pesa (FI)
Messaggi: 152
|
[Java] Aiuto sulle istanze di oggetti
Ciao ragazzi, stò cercando di imparare qualcosa su questo linguaggio, ma veniamo al dunque:
Mettiamo di avere queste poche righe di codice: Codice:
public class Rubrica {
private String nome;
/* Incapsulamento per i dati della rubrica */
public void setNome(String nome) {
this.nome = nome;
}
public String getNome() {
return nome;
}
}
Codice:
public class EseguiRubrica {
public static void main(String args[]) {
Rubrica n1 = new Rubrica();
n1.setNome("Andrea");
Rubrica n2 = new Rubrica();
n2.setNome("Marco");
}
Ciao e grazie a tutti per ora..... Il compilatore che uso è il jdk1.5 tramite interfaccia EJE su Windows Vista.
__________________
NoteBook Asus A8jr Cpu: Intel Core 2 Duo T5500 Mem: 1gb DDR2 667Mhz Video: ATI Mobilty x2300 128Mb Hd: Seagate Momentus 120Gb 5400rpm Peso: 2.39Kg
Attenzione ai notebook Asus A8Jr (e non solo), Sul mio il coperchio si rompe --> clicca NoteBook Asus A8jr |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Sep 2007
Messaggi: 754
|
Ti crei un array di oggetti
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Mar 2002
Città: Tavarnelle Val di Pesa (FI)
Messaggi: 152
|
ok, con un array forse saprei come fare, ma se insistessi su questa strada, esiste un metodo? vorrei solo capire come poter ripescare il reference agli oggetti....
comunque mi date qualche dritta anche su un array di oggetti???
__________________
NoteBook Asus A8jr Cpu: Intel Core 2 Duo T5500 Mem: 1gb DDR2 667Mhz Video: ATI Mobilty x2300 128Mb Hd: Seagate Momentus 120Gb 5400rpm Peso: 2.39Kg
Attenzione ai notebook Asus A8Jr (e non solo), Sul mio il coperchio si rompe --> clicca NoteBook Asus A8jr Ultima modifica di Andre81 : 14-09-2007 alle 10:41. |
|
|
|
|
|
#4 | |
|
Registered User
Iscritto dal: Jul 2007
Messaggi: 915
|
Quote:
Codice:
Rubrica[] r = new Rubrica[50];
for (int i = 0; i < r.length; i++)
{
r[i] = new Rubrica(); // istanzia l'oggetto i-esimo
}
|
|
|
|
|
|
|
#5 | |
|
Member
Iscritto dal: Mar 2002
Città: Tavarnelle Val di Pesa (FI)
Messaggi: 152
|
Quote:
ma perchè ci ho perso così tanto tempo.....
__________________
NoteBook Asus A8jr Cpu: Intel Core 2 Duo T5500 Mem: 1gb DDR2 667Mhz Video: ATI Mobilty x2300 128Mb Hd: Seagate Momentus 120Gb 5400rpm Peso: 2.39Kg
Attenzione ai notebook Asus A8Jr (e non solo), Sul mio il coperchio si rompe --> clicca NoteBook Asus A8jr |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
questa è la soluzione base, ma esistono anche delle strutture dati che si occupano automaticamente dell'inserimento dei dati e della ricerca, se gli oggetti sono opportunamente costruiti.
un esempietto semplice semplice Codice:
Vector <String> nomi=new <String>Vector();
for(String nomi:nomecorrente){
nomecorrente="NOME";
}
P.S.: non ricordo bene l'uso dei generics e del forech, se passa pgi prima di me e ho sbagliatyo mi batosta a dovere
__________________
My gaming placement |
|
|
|
|
|
#7 |
|
Messaggi: n/a
|
il costrutto foreach prende un'instanza di Iterable<T> e ti restituisce, finché il metodo di Iterator hasNext() è true, l'oggetto T che ti viene con next(). funziona anche con gli array. In pratica lo puoi vedere così:
for(T oggetto:Iterable<T>) //qui fai quello che vuoi con loggetto di tipo T |
|
|
|
#8 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
__________________
My gaming placement |
|
|
|
|
|
|
#9 |
|
Member
Iscritto dal: Mar 2002
Città: Tavarnelle Val di Pesa (FI)
Messaggi: 152
|
Ok grazie ragazzi...
adesso sto cercando di capire per bene il reference this, sto guardando su java mattone dopo mattone e sul libro di De Sio Cesari, ma mi manca quel qualcosa che mi lascia perplesso... Potete provare a spiegarmelo voi? Ciao e grazie.
__________________
NoteBook Asus A8jr Cpu: Intel Core 2 Duo T5500 Mem: 1gb DDR2 667Mhz Video: ATI Mobilty x2300 128Mb Hd: Seagate Momentus 120Gb 5400rpm Peso: 2.39Kg
Attenzione ai notebook Asus A8Jr (e non solo), Sul mio il coperchio si rompe --> clicca NoteBook Asus A8jr |
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
__________________
My gaming placement |
|
|
|
|
|
|
#11 |
|
Member
Iscritto dal: Mar 2002
Città: Tavarnelle Val di Pesa (FI)
Messaggi: 152
|
Allora, io ho capito che il reference this serve per referenziare la variabile di istanza dell'oggetto corrente!
Il punto è che al runtime, la JVM non ha a che fare con le classi, ma con gli oggetti, quindi per capire a quale variabile di istanza devo accedere viene utilizzato il reference this. Codice:
1° oggetto (ref)--> 1° variabile
2° variabile
2° oggetto (ref)--> 1° variabile
2° variabile
E' così ragazzi?
__________________
NoteBook Asus A8jr Cpu: Intel Core 2 Duo T5500 Mem: 1gb DDR2 667Mhz Video: ATI Mobilty x2300 128Mb Hd: Seagate Momentus 120Gb 5400rpm Peso: 2.39Kg
Attenzione ai notebook Asus A8Jr (e non solo), Sul mio il coperchio si rompe --> clicca NoteBook Asus A8jr Ultima modifica di Andre81 : 18-09-2007 alle 15:50. Motivo: errori vari |
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
__________________
My gaming placement |
|
|
|
|
|
|
#13 |
|
Member
Iscritto dal: Mar 2002
Città: Tavarnelle Val di Pesa (FI)
Messaggi: 152
|
Non credo che in questo caso la carenza sia tua...
Forse in modo più rozzo: ma se io sto accedendo ad un oggetto, perchè ho bisogno di un reference per le variabili interne?
__________________
NoteBook Asus A8jr Cpu: Intel Core 2 Duo T5500 Mem: 1gb DDR2 667Mhz Video: ATI Mobilty x2300 128Mb Hd: Seagate Momentus 120Gb 5400rpm Peso: 2.39Kg
Attenzione ai notebook Asus A8Jr (e non solo), Sul mio il coperchio si rompe --> clicca NoteBook Asus A8jr Ultima modifica di Andre81 : 18-09-2007 alle 16:57. |
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
Codice:
metodo(parametro nomeParametro){
this.nomeParametro = nomeParametro;
}
Codice:
metodo(parametro nomeParametro1){
nomeParametro = nomeParametro1;
}
quindi, con il this nel primo caso tu dici a chi si deve assegnare l'oggetto, altrimenti si creerebbero casini...... spero di non aver detto eresie e di aver colmato il tuo dubbio :|
__________________
My gaming placement |
|
|
|
|
|
|
#15 |
|
Messaggi: n/a
|
il this lo usi 1 quando vuoi avere un reference, all'interno di un metodo non statico, all'oggetto su cui è stato chiamato quel metodo, ed usarlo per passarlo come argomento ad un'altro metodo che richiede appunto quel tipo di oggetto come parametro. 2 quando hai un metodo il cui parametro ha lo stesso nome di un campo dell'oggetto stesso, quindi con this.mioCampo accedi al campo dell'oggetto, con mioCampo all'ipotetico omonima variabile.
si capisce quel che dico? |
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:35.



















