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

    Costruzione di una classe

    Ha senso fare una cosa del genere? Ci sono controindicazioni pratiche di inizializzazione
    o teoriche di progettazione OO?

    codice:
    public class Example {
    	Test exampleVar = new Test(this);
    }
    
    public class Test {
    	public Test(Example component){
    		this.component = component;
    	}
    	Example component;
    }
    Quando viene costruita la classe Test, Example potrebbe non essere ancora completata?
    C'è un modo più intelligente per poter comunicare in maniera bidirezionale senza rendere
    pubblici tutti i campi di Example? Come si fa in questi casi? Grazie.

  2. #2
    si fa con una classe innestata:
    codice:
    public class Example {
    	Test exampleVar = new Test();
        public void stampaCiao() {
             System.out.println("Ciao");
        }
    
         public class Test {
    	      public Test(){
                       Ogni oggetto di tipo Test ha automaticamente un riferimento alla classe che lo ha creato.
                       Il riferimento alla classe Example si fa così:
                
                       Example.this.stampaCiao();
    	      }
    	
          }
    }
    Le classi innestate vedono tutti i metodi e attributi privati della classe che li contiene e viceversa. Ossia la classe che li contiene vede tutti i metodi privati.

    Se classe innestate è private class Test allora l'interfaccia non è pubblica. Vabbè, ci sono ampliee spiegazioni al riguardo.
    ...

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.