|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Sep 2010
Messaggi: 15
|
[JAVA] - utilizzo pratico degli "enum"
Sto affrontando da poco l'argomento "enum"; ho capito cosa sono (più o meno...), ma non riesco ancora a capirne l'utilizzo pratico.
Cioè, ciò che posso fare con gli enum, volendo lo potrei fare anche con delle normali costanti intere dichiarate all'interno di una classe, o addirittura con degli array. Quindi a che pro usare gli enum? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Il problema risolto dagli enumerativi è questo:
int AVANTI = 0 int INDIETRO = 1 void muovi(int direzione) { ... } Posso dire "muovi(756)" ? Sì. E' una bella cosa? Quasi certamente no. Gli enumerativi ti permettono di creare degli insiemi di valori i cui elementi sono arbitrariamente limitati. enum Direzione { AVANTI, INDIETRO } void muovi(Direzione direzione) {...} Qui non posso che dire muovi(AVANTI) o muovi(INDIETRO). Passare da un intero a un enumerativo significa in buona sostanza dare più chance al compilatore di rilevare un errore nel codice. Che è idilliaco perchè se alle stupidate ci pensa lui tu ti puoi concentrare sul succo del programma. |
|
|
|
|
|
#3 | |
|
Junior Member
Iscritto dal: Sep 2010
Messaggi: 15
|
Quote:
muovi (int AVANTI) ma non sarebbe molto "bello". Quindi, in sostanza, le enumerazioni non sono una vera e propria necessità, ma più una comodità, giusto? Cioè, è preferibile utilizzarle per motivi di leggibilità? |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
A ciò che ha sottolineato PGI-Bis, ti allego questo articolo, secondo me sintetico e molto chiaro (almeno io l'ho trovato più chiaro del tutorial Java ufficiale sulle enum).
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
#5 |
|
Junior Member
Iscritto dal: Sep 2010
Messaggi: 15
|
ok, leggendo anche l'articolo che mi hai consigliato penso di poter concludere che una enumerazione permette di:
Dimentico qualcosa? |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:49.



















