|
|
|
![]() |
|
Strumenti |
![]() |
#1 | |
Junior Member
Iscritto dal: Apr 2009
Messaggi: 13
|
[JAVA]Classi con campi statici
Ho un dubbio che mi attanaglia!
Voi come considerate le classi che possiedono solo campi statici, senza nemmeno un costruttore? Possono essere utili oppure sono un inutile spreco di codice? Ad es. : Quote:
Ultima modifica di danixxx89 : 02-01-2010 alle 15:51. |
|
![]() |
![]() |
![]() |
#2 |
Junior Member
Iscritto dal: Mar 2009
Messaggi: 27
|
Dipende il caso, solitamente le classi con soli metodi statici sono quelle che contengono funzioni che fanno determinati operazioni o calcoli, tipo una somma, dove tu passi tutti i parametri ed essa ti restituisce il risultato e basta.
Classi di questo tipo sono un discreto esempio di modularizzazione, perchè tu ti predisponi una classe con metodi che fanno determinate cose e nulla più, ed ovviamente sono facilmente trasportabili da progetto a progetto. Un esempio è la classe Math, non hai bisogno di crearne un'istanza perchè ha tutti membri static, ed è sempre utile in qualsiasi progetto. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2006
Messaggi: 22462
|
un altro esempio sono le informazioni che possono sevire in svariate parti del codice, ad esempio in un gestionale il nome della ditta può servire in molti luoghi dal titolo della finestra principale del programma in poi. a questo punto diventa interessante un classe che faccia solo da contenitore di informazioni per l'appunto statiche che non cambiano mai.
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza |
![]() |
![]() |
![]() |
#4 | |
Junior Member
Iscritto dal: Mar 2009
Messaggi: 27
|
Quote:
|
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12093
|
nel caso che hai postato tu è assolutamente sprecata, molto meglio usare le enum:
http://java.sun.com/docs/books/tutor...vaOO/enum.html
__________________
![]() |
![]() |
![]() |
![]() |
#6 | ||
Member
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
|
Quote:
Quote:
Giusto per dare un esempio interessante ... nel caso tuo sarebbe più opportuno creare una classe "di sola lettura" e definire static l'istanza della classe java.util.Properties. Codice:
import java.util.Properties; enum NomeProprieta { TITOLO ("titolo.applicazione"), FORMATO_DATA ("formato.data"); private String key; public NomeProprieta (String key){ this.key = key; } public String getKey(){ return key; } } class Pippo{ private static Properties properties; static { // inizializza la variabile properties in modo apropriato la prima // volta che la classe viene chiamata in modo statico properties = new Properties(); properties.load(new FileInputStream(new File("info.properties"))); } public static getProperty(NomeProprieta nomeProprieta){ return properties.getProperty(nomeProprieta.getKey()); } } |
||
![]() |
![]() |
![]() |
#7 |
Junior Member
Iscritto dal: Apr 2009
Messaggi: 13
|
grazie a tutti per le risposte rapide e precise
![]() |
![]() |
![]() |
![]() |
#8 | ||
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
Quote:
Quote:
Ultima modifica di nuovoUtente86 : 03-01-2010 alle 15:36. |
||
![]() |
![]() |
![]() |
#9 |
Member
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
|
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
|
![]() |
![]() |
![]() |
#11 |
Junior Member
Iscritto dal: Apr 2009
Messaggi: 13
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:56.