Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    41

    Visibilità Oggetti AIUTO!!!

    salve a tutti, vorrei risolvere questo problema:

    ho un programma in java con diverse classi e la maggior parte (quasi tutte) devono poter vedere e accedere allo stesso oggetto. cosa mi consigliate di fare?

    grazie ciao ciao

  2. #2
    Dai uno sguardo al pattern Singleton: leggi

    Al mio segnale... scatenate l'inferno!

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    41
    Originariamente inviato da R@ve M@ster
    Dai uno sguardo al pattern Singleton: leggi

    in questo modo se instanzio un oggetto X di quella classe sul main....da dentro qualsiasi altro oggetto di Y potrò accedervi???? anche se questo oggeto Y non è istanziato sul main?

  4. #4
    Originariamente inviato da R@ve M@ster
    Dai uno sguardo al pattern Singleton: leggi

    che vantaggi porta al posto delle variabili statiche?
    Write Once, Run Everywhere.
    Write Less, Do More.

  5. #5
    Originariamente inviato da poppoGBR
    in questo modo se instanzio un oggetto X di quella classe sul main....da dentro qualsiasi altro oggetto di Y potrò accedervi???? anche se questo oggeto Y non è istanziato sul main?
    Trattandosi di un Singleton tu hai un unico oggetto al quale puoi accedere da ogni classe semplicemente richiamando:

    TuoSingleton sing = TuoSingleton.getInstance();

    Così facendo lavori sempre e solo sullo stesso oggetto. Ad esempio:

    Codice PHP:
    public class Singleton 
     
      
    // private: non viene generato un costruttore pubblico
      
    private Singleton() {}
      
      private 
    String variabile "";

      public 
    String getVariabile(){
        return 
    variabile;
      }

      public 
    void setVariabile(String value){
        
    this.variabile value;
      }

      
    /**
       * La classe Contenitore viene caricata alla prima esecuzione del getInstance()
       * o al primo accesso a Contenitore.ISTANZA, non prima, e in modo serializzato
       */
      
    private static class Contenitore 
        private final static 
    Singleton ISTANZA = new Singleton();
      }
     
      public static 
    Singleton getInstance() {
        return 
    Contenitore.ISTANZA;
      }

    E in due classi distinte:

    Codice PHP:
    public class ClasseCheSetta {
      ....

      
    Singleton sing Singleton.getInstance();
      
    sing.setVariabile("Prova");
      ...

    }


    public class 
    ClasseCheLegge{

      ...
      
    System.out.println(Singleton.getInstance().getVariabile());
      ...

    Per quanto riguarda i vantaggi dell'utilizzo di un singleton:

    1) Consente di avere un accesso controllato all'unica istanza della classe
    2) Spazio di nomi ridotto
    3) Evita la dichiarazione di variabili globali
    4) Consente di avere un basso numero di oggetti utilizzati in condivisione grazie al fatto che viene impedita la creazione di nuove istanze ogni volta che si voglia utilizzare la stessa classe.
    Al mio segnale... scatenate l'inferno!

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,477

    Moderazione

    Originariamente inviato da poppoGBR
    Visibilità Oggetti AIUTO!!!
    Usa titoli più significativi in futuro, come da Regolamento.

    Questo l'ho modificato io.

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

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

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.