Pagina 1 di 6 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 55
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    480

    Problema incapsulamento

    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?

  2. #2
    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
    codice:
            String[] parti = inclinazione.split("\\s+");
    
            if (parti.length >= 1) {
    
                this.inclinazione = (parti[0]);
                System.out.println(parti[0] + "°" + "\t");
    
            }
    Non è propriamente una bella cosa che qui, nel costruttore, fai della logica di parsing solo per inclinazione. Vuol dire (secondo me) che non stai modellando bene le cose.

    Quote Originariamente inviata da roquentin Visualizza il messaggio
    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?
    Onestamente non ho capito il dubbio ....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    480
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Non è propriamente una bella cosa che qui, nel costruttore, fai della logica di parsing solo per inclinazione. Vuol dire (secondo me) che non stai modellando bene le cose.


    Onestamente non ho capito il dubbio ....
    No no, stavo solo provando. Devo sistemare per bene la classe e le variabili private.

    Allora, dala classe A, passo i parametri al costruttore della classe Mese.
    Ora, voglio utilizzare i valori che ho settato, in una classe B.
    Devo istanziare di nuovo la classe Mese? Se la istanzio, mi chiede di inserire i parametri da passare al costruttore di Mese invece io voglio utilizzare i valori che ho già settato.

  4. #4
    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
    Allora, dala classe A, passo i parametri al costruttore della classe Mese.
    Ora, voglio utilizzare i valori che ho settato, in una classe B.
    Devi passare a B un riferimento ad un oggetto Mese ..... quale è il dubbio preciso?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    480
    Voglio passare il valore settato della variabile inclinazione della classe Mese ad una TextArea per vedere se me lo visualizza, cioè una cosa tipo:

    codice:
    jTextArea1.setText(month.getInclinazione());

  6. #6
    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
    codice:
    jTextArea1.setText(month.getInclinazione());
    E non c'è nulla di sbagliato .. almeno sintatticamente.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    480
    Quote Originariamente inviata da andbin Visualizza il messaggio
    E non c'è nulla di sbagliato .. almeno sintatticamente.
    No, non va.
    Se faccio l'istanza
    codice:
    Mese month = new Mese();
    mi da errore perchè ovviamente mi chiede di inserire i parametri da dare al costruttore di Mese e quindi non posso utilizzare questa:

    codice:
    jTextArea1.setText(month.getInclinazione());
    mi sto incasinando su questa cosa!!

  8. #8
    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
    No, non va.

    mi da errore perchè ovviamente mi chiede di inserire i parametri da dare al costruttore di Mese e quindi non posso utilizzare questa:
    Ma se avevi già una istanza ..... passa quella. Ripeto: quali sono i dubbi? Siamo ancora al punto: come passare un valore? (sono "basi" di informatica queste, indipendentemente dal linguaggio)

    Quote Originariamente inviata da roquentin Visualizza il messaggio
    mi sto incasinando su questa cosa!!
    Forse (opinione mia, personale) dovresti cercare di farti delle basi più solide su Java e sulla programmazione. Poi dopo si arriva a interfacce grafiche, Swing, regular-expression, ecc...
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    480
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Ma se avevi già una istanza ..... passa quella. Ripeto: quali sono i dubbi? Siamo ancora al punto: come passare un valore? (sono "basi" di informatica queste, indipendentemente dal linguaggio)


    Forse (opinione mia, personale) dovresti cercare di farti delle basi più solide su Java e sulla programmazione. Poi dopo si arriva a interfacce grafiche, Swing, regular-expression, ecc...
    Ma questa istanza:
    codice:
    Mese mese = new Mese(month.trim(), inclinazione.trim(), azimuth.trim());
    appartiene ad un'altra classe

  10. #10
    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
    Ma questa istanza:
    codice:
    Mese mese = new Mese(month.trim(), inclinazione.trim(), azimuth.trim());
    appartiene ad un'altra classe
    E tu devi passare il riferimento mese ad un'altra classe.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.