Per poter far ciò posso scrivere una classe autoreferenziante. Ad esempio:
class Edificio{private Edificio(){} /* Costruttore vuoto */
public static final Edificio Casa = new Edificio(); /* elemento del tipo Edificio*/
public static final Edificio Villa = new Edificio();
public static final Edificio Appartamento = new Edificio();
public static final Edificio Magazzino = new Edificio();
}
In questo modo potrò fare operazioni del tipo:
Edificio MioEdificio = Edificio.Casa();
oppure
Edificio MioEdificio = Edificio.Villa();
Potrebbe essere utile...
Ciao Piero
Ciao Piero,
RispondiEliminaquanto tu dici è in effetti una versione del "Factory method" design pattern :)
M
D'ho... e io che pensavo di aver trovato il modo per diventare milionario.... :-)
RispondiEliminaIn ogni caso da Java 1.5 gli enumerate sono un costrutto standard del linguaggio.
RispondiEliminaHo riscoperto un altra volta l'acqua calda... uff
RispondiElimina