Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [java] come la "struct" del C

    vorrei unire diversi oggetti di tipo diverso (int, String) in un altro.

    come si crea e come si assegnano/recuperano i valori degli oggetti contenuti?

  2. #2
    Utente di HTML.it L'avatar di Fox82
    Registrato dal
    Feb 2002
    Messaggi
    459
    Potresti creare una classe con tutti i membri pubblici: in effetti nel C una struct è più o meno quello.

    Esempio:

    codice:
    public class Uomo
    {
        public String nome;
        public int eta
    }
    
    ...
    
    Uomo p = new Uomo();
    p.nome = "Pippo";
    p.eta = 30;
    In alternativa crei una classe con tutti i membri privati e per ogni membro un metodo get e set per recuperarli e modificarli, in cui puoi eventualmente inserire controlli

    Esempio:

    codice:
    public class Uomo
    {
        private String nome;
        private String eta;
    
        public String getNome()
        {    
            return nome;
        }
    
        public void setNome(String n);
        {
            // Se vuoi puoi inserire qui eventuali 
            // controlli sulla stringa in input
            nome = n;
        }
    
        public int getEta()
        {    
            return eta;
        }
    
        public void setEta(int e);
        {
            // Se vuoi puoi inserire qui eventuali 
            // controlli sulla stringa in input
            eta = e;
        }
    }
    In più potresti creare dei costruttori a cui passare tutti o parte dei dati

    Linux user number 403381

    Stop TCPA!

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Credo che la creazione di una classe come suggerito sia l'unico modo.

    Tuttavia, devi tenere sempre a mente che si tratta di una classe e pertanto devi crearla prima di utilizzarla e tenere a mente che la variabile del tipo creato è un riferimento; in definitiva, non è la stessa cosa delle strutture C.

    In altri linguaggi, ad esempio C#, è possibile creare strutture utilizzando la parola chiave struct che agiscono come valore e si comportano in modo più simile alla controparte C.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    non ci sono le struct, un modo per fare una cosa simile è usare membri statici così non serve creare l'oggetto:

    codice:
    class struttura {
    public static String dato1 = "";
    public static int dato2 = 0;
    //...
    }
    per recuperare basterà:

    codice:
    String data = struttura.dato1;
    struttura.dato2 = 5;
    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Originariamente inviato da netarrow
    non ci sono le struct, un modo per fare una cosa simile è usare membri statici così non serve creare l'oggetto
    ...ma in questo modo, si potrà disporre di una ed una sola struttura di questo tipo.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    Originariamente inviato da alka
    ...ma in questo modo, si potrà disporre di una ed una sola struttura di questo tipo.
    esatto, se ha la necessità di crearne di più è da creare l'oggetto e senza usare static.
    Altre soluzioni non mi vengono.


    P.S
    Non vorrei sbagliarmi, ma in java 1.5 è stata aggiunta una cosa simile alle struct.

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Originariamente inviato da netarrow
    Non vorrei sbagliarmi, ma in java 1.5 è stata aggiunta una cosa simile alle struct.
    Ti dirò, avevo questa sensazione anche io. Ho approfittato di questa domanda per controllare...ma non ho trovato nulla.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  8. #8
    Originariamente inviato da netarrow
    esatto, se ha la necessità di crearne di più è da creare l'oggetto e senza usare static.
    ovvero devo creare la classe, giusto?
    intendi questo x "oggetto" vero?

  9. #9
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    Originariamente inviato da speriamobene
    ovvero devo creare la classe, giusto?
    intendi questo x "oggetto" vero?
    per oggetto intendo esistenza fisica in memoria di un tipo di dato che istanzia un astrazione logica quale la classe.
    Se a te basta solo una "struttura" puoi usare i membri static e non creare l'oggetto, se ci devono essere più "strutture" devi instanziare l'oggetto con new.

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.