Pagina 1 di 1
[RISOLTO][Java] Riferimenti a oggetti
Inviato: sabato 11 marzo 2017, 12:09
da CRIMON
salve, avrei bisogno di una mano, non riesco a capire il riferimento a oggetti e come evolve durante l' esecuzione del codice e le varie assegnazioni, qualcuno di voi ha qualche suggerimento\test da provare e\o consigli?
Re: [Java] Riferimenti a oggetti
Inviato: domenica 12 marzo 2017, 18:06
da John_Marco
Ciao,
probabilmente non riesco a capire la tua domanda, o forse è un pochino generica. Ad ogni modo, in generale, supponi di avere una classe Pippo. Se tu scrivi qualcosa tipo :
p conterrà un riferimento (un puntatore, in pratica) ad un oggetto in memoria di tipo Pippo.
In questo caso noi l'abbiamo dichiarata e assegnata con la costruzione dell'oggetto, ma durante l'esecuzione potrà cambiare, ad esempio puntando ad un nuovo oggetto di classe Pippo
Codice: Seleziona tutto
Pippo p = new Pippo();
// Operazioni sull'oggetto p
p = new Pippo(); // in questo punto perdi il riferimento al vecchio oggetto, e p punterà ad un nuovo oggetto
Ovviamente questo discorso è molto semplificato, ci sarebbe da trattare nello specifico il discorso dell'ereditarietà, dove effettivamente le evoluzioni del riferimento possono essere davvero interessanti, ma questo dipende molto da quali sono i tuoi obiettivi e quali le tue conoscenze in merito.
Ti suggerisco di iniziare a studiare cosa è realmente la programmazione ad oggetti e quali sono le sue potenzialità
Re: [Java] Riferimenti a oggetti
Inviato: lunedì 13 marzo 2017, 21:35
da CRIMON
Grazie, comunque stavo cercando di capire come evolve la stampa di variabili assegnate a riferimento a oggetti durante l' esecuzione del codice
Re: [Java] Riferimenti a oggetti
Inviato: martedì 14 marzo 2017, 9:07
da John_Marco
Puoi essere un pochino più chiaro? Magari con un esempio o un caso pratico
Re: [Java] Riferimenti a oggetti
Inviato: martedì 14 marzo 2017, 22:44
da CRIMON
Codice: Seleziona tutto
public class Auto {
private String targa;
public Auto(String targa) {
this.targa = targa;
}
public void setTarga(String targa) {
this.targa = targa;
}
public String getTarga() {
return this.targa;
}
public static void main(String[] argc) {
Auto[] automobili = new Auto[3];
Auto a = new Auto("0000");
automobili[0] = a;
a.setTarga("1111");
a = new Auto("2222");
automobili[1] = a;
Auto b;
b = a;
b.setTarga("3333");
automobili[2] = b;
for (Auto auto : automobili)
System.out.print(auto.getTarga() + " ");
}
}
questo l' ho risolto, am ho avuto un po di difficoltà iniziali