Pagina 2 di 6 primaprima 1 2 3 4 ... ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 55
  1. #11
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Quote Originariamente inviata da roquentin Visualizza il messaggio
    Ciao a tutti,
    Ho costruito questa classe
    codice:
    public class Mese {
    
        private Coordinate coordinate;
        private String nomeMese;
        private String inclinazione;
        private String azimuth;
        private List<Registrazioni> registrazioni;
    
        public Mese(String nomeMese, String inclinazione, String azimuth) {
    
            String[] parti = inclinazione.split("\\s+");
    
            if (parti.length >= 1) {
    
                this.inclinazione = (parti[0]);
                System.out.println(parti[0] + "°" + "\t");
    
            }
    
            this.nomeMese = nomeMese;
    
            this.azimuth = azimuth;
        }
    ...
    da un'altra classe vado a passare i parametri così:
    codice:
    Mese mese = new Mese(month.trim(), inclinazione.trim(), azimuth.trim());
    Ora vorrei utilizzare i valori settati nella classe Mese in un'altra classe ancora e non riesco a capire come fare
    Se istanzio nuovamente la classe Mese nella classe in cui voglio utilizzarla, ovviamente devo considerare il costruttore e mi chiede di passare i parametri ma io vorrei utilizzare i valori che ho già settato, come posso fare?

    scusa perché azimuth e inclinazione non le metti tra le coordinate? sono 3 gli elementi che devi avere

    1. nome del mese
    2. coordinate (totali, alla fine ti permettono l'identificazione di una zona)
    3. la lista di registrazioni (che io dichiarerei cosi
    codice:
    final List<Registrazioni> reg = new ArrayList<Registrazioni>();
    togliendo la paranoia di controllare se null.

    Il mese esistono delle enum che te lo identificano in modo univoco (API Calendar o Date, non mi ricordo quale di preciso, però il gruppo è quello), è meglio usarlo (ti facilita le cose in tanti altri ambiti).
    RTFM Read That F*** Manual!!!

  2. #12
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    480
    Quote Originariamente inviata da andbin Visualizza il messaggio
    E tu devi passare il riferimento mese ad un'altra classe.
    Scusami, forse l'ho già fatto altre volte ma ora non riesco a capire come passare il riferimento mese

  3. #13
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da roquentin Visualizza il messaggio
    Scusami, forse l'ho già fatto altre volte ma ora non riesco a capire come passare il riferimento mese
    Se scartiamo l'accesso diretto a campi di una classe, che appunto non si dovrebbe fare poiché non è una buona cosa dal punto di vista della OOP .... allora cosa rimane? Invocazione di costruttori (con eventuali argomenti) o invocazione di metodi (con eventuali argomenti). È tutto così! Non esiste altro!

    Ma il punto non è tanto quello ... qui si entra in questioni di "design", che dovresti iniziare a comprendere meglio. Hai una classe "A" in cui crei l'istanza di Mese e una classe "B" a cui dovresti passare il Mese.
    Ora le domande potrebbero essere: è A che crea l'istanza di B? O è B che crea l'istanza di A? E se A crea B, ne mantiene un riferimento da qualche parte?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #14
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    480
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Se scartiamo l'accesso diretto a campi di una classe, che appunto non si dovrebbe fare poiché non è una buona cosa dal punto di vista della OOP .... allora cosa rimane? Invocazione di costruttori (con eventuali argomenti) o invocazione di metodi (con eventuali argomenti). È tutto così! Non esiste altro!

    Ma il punto non è tanto quello ... qui si entra in questioni di "design", che dovresti iniziare a comprendere meglio. Hai una classe "A" in cui crei l'istanza di Mese e una classe "B" a cui dovresti passare il Mese.
    Ora le domande potrebbero essere: è A che crea l'istanza di B? O è B che crea l'istanza di A? E se A crea B, ne mantiene un riferimento da qualche parte?
    Ok ma se in "A" creo l'istanza di Mese e voglio utilizzare Mese nella classe "B", ovviamente in B devo creare l'istanza di A , no?

  5. #15
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da roquentin Visualizza il messaggio
    Ok ma se in "A" creo l'istanza di Mese e voglio utilizzare Mese nella classe "B", ovviamente in B devo creare l'istanza di A , no?
    Ma dipende da cosa sono A e B, in che relazione sono e "chi controlla chi". E dovresti saperlo/dedurlo tu ...
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #16
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    e poi sei sicuro che A e B, classi distinte, debbano accedere alla stessa istanza di Mese? soprattutto una debba conoscere a fondo il contenuto dell'altra
    RTFM Read That F*** Manual!!!

  7. #17
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    480
    Allora, la situazione è questa:
    Classe A è la classe con il main da dove tutto parte. In questa classe mi determino la directory dei file che mi interessano.
    Da qui chiamo la classe B (classe Ricerca con metodo findDirectory), così:
    codice:
    try {
                ricerca.findDirectory(dir, datab.getData());
    
            } catch (IOException ex) {
                Logger.getLogger(PVEstimation.class.getName()).log(Level.SEVERE, null, ex);
            }
    dalla classe B, richiamo la classe C ( ApriFileMesi con metodo ApriFiles):
    codice:
    apriMesi.apriFiles(file);
    Nel metodo ApriFiles vado a leggere le songole righe del file e passo i parametri ai costruttori delle classi Mese e Coordinate:
    codice:
     Coordinate coordinate = new Coordinate(latitude.trim(), longitude.trim(), inclinazione.trim(), azimuth.trim());
                    
    Mese mese = new Mese(month.trim());
    n.b. Ho ridefinito Coordinate in base al consiglio di valia

    A questo punto voglio passare i contenuti settati in Coordinate nella classe di partenza, ossia la classe A, da dove tutto comincia

  8. #18
    Ciao,
    Beh quando chiamerai la classe B nel costruttore puoi passare un riferimento ad A.
    codice:
    B b=new B(..., this);
    in B quindi avrai
    codice:
    public B(...., A a){
    ...
    }
    Quando dovrai passare i contenuti farai un metodo ad hoc in A per passare i tuoi dati.
    E quindi in B farai
    codice:
    a.storeContents(c);
    //dove c sarà il contenuto che vuoi passare
    Ciao.
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  9. #19
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    480
    Quote Originariamente inviata da schumy2000 Visualizza il messaggio
    Ciao,
    Beh quando chiamerai la classe B nel costruttore puoi passare un riferimento ad A.
    codice:
    B b=new B(..., this);
    in B quindi avrai
    codice:
    public B(...., A a){
    ...
    }
    Quando dovrai passare i contenuti farai un metodo ad hoc in A per passare i tuoi dati.
    E quindi in B farai
    codice:
    a.storeContents(c);
    //dove c sarà il contenuto che vuoi passare
    Ciao.
    Ti riferisci al mio ultimo esempio con le classi "A", "B" e "C" ?

  10. #20
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    roquentin, ciò che ti manca (oltre ad una buona conoscenza delle basi del linguaggio) è anche una minima conoscenza dell'architettura del software.

    Ti consiglio alcune letture, per farti capire l'importanza della cosa:

    http://msdn.microsoft.com/it-it/library/cc185057.aspx
    http://msdn.microsoft.com/it-it/library/cc185087.aspx
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

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 © 2025 vBulletin Solutions, Inc. All rights reserved.