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 :

Codice: Seleziona tutto

Pippo p = new Pippo();
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