|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Oct 2013
Messaggi: 158
|
[JAVA] Correttezza implementativa
Salve a tutti,
è corretto nella programmazione OO implementare una classe solo ed esclusivamente tramite il suo costruttore oppure è pura eresia? Codice:
class pippo{
public pippo(int value){
[fa delle cose complesse che nulla hanno a che fare con l'inizializzazione delle variabili]
}
}
new pippo(2); oppure è molto piu corretto fare: pippo Pippo = new Pippo(2); sapendo però che poi la variabile Pippo sarebbe poi inutilizzata? Ultima modifica di sharkkk : 16-04-2014 alle 11:12. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jun 2007
Messaggi: 1625
|
È brutto e stupido, se non ti serve creare oggetti usa una classe di metodi statici
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2787
|
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Oct 2010
Messaggi: 1609
|
Quote:
BufferedReader br =new BufferedReader(new InputStreamReader(is)); dove is è l'InputStream |
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2787
|
Quote:
|
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Oct 2013
Messaggi: 158
|
grazie mille per le risposte.
immaginavo che fosse brutto ma volevo la conferma da persone estremamente più esperte di me. |
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Nov 2010
Messaggi: 211
|
Beh io, da totale inesperto sto scrivendo una libreria per fare delle operazioni matematiche ed ogni espressione è rappresentata da un'istanza. La classe quindi contiene solo il metodo costruttore che prende in input la stringa con l'espressone matematica e nel crea un oggetto. Non mi sembrava così stupido
Penso che se tu avessi bisogno di oggetti con contenuti diversi non si potrebbe considerare stupido. Codice:
try {
Expression a = new Expression("10x^2-5x+5");
Expression b = new Expression("3+2-logx");
...
} catch (...) {
...
}
Ahh scusa, non ho letto bene. Se vuoi fare solo new Classe(); senza nemmeno salvare l'istanza è insensato completamente. Puoi usare un metodo statico anonimo (static {}) nella classe. Ultima modifica di biowep : 16-04-2014 alle 16:11. |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 12948
|
Nel costruttore dovrebbe esserci solo ed esclusivamente l'inizializzazione in maniera che i metodi possano "fidarsi" delle variabili di istanza e operarci correttamente.
Ad esempio è scorretto inizializzare una variabile di istanza in un metodo. |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Quote:
Codice:
new Thread(() -> System.out.println("Hello,world")).start();
__________________
In God we trust; all others bring data |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:53.




















