Pages: [1] 2   Go Down
Print
Author Topic: Static factory  (Read 2223 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Jack&Daxter
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 398



« on: 21-03-2011, 20:40:36 »

Ragazzi mi servirebbe un kiarimento...Oggi a lezione il prof ha spiegato il costruttore static factory ,es:

Code:
public class Boolean{
static final boolean TRUE = new Boolean(TRUE);
static final boolean FALSE = new Boolean(FALSE);

public Boolean (boolean value);

public static Boolean NewInstanceof(boolean value){
return new Boolean(value);
}

public static Boolean Valueeof(boolean value){
return (value ? TRUE : FALSE);
}

public static Boolean Valueeof(String value){
return value.equals("True") ? TRUE : (value.equals("False") ? FALSE : null);
}

}


Quello che non ho capito io è che nella definizione di metodo static factory il costruttore standard deve essere privato (come dice anke il prof) ma allore perchè trovo scritto public Boolean (boolean value)  e non private Boolean (boolean value) ?  
E' un errore del prof oppure ho capito male io ?
Logged
Angelo
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 274



« Reply #1 on: 22-03-2011, 16:23:23 »

credo sia un errore..ripeto credo..dai un occhio qui che lo capisci meglio: http://www.javapractices.com/topic/TopicAction.do?Id=21
Logged

..elimindo il ponte pedonale di andrea doria..hanno eliminato una parte di me!..
ɹǝǝuıƃuǝsɹǝʌǝɹ
Administrator
God of the Forum
*****
Offline Offline

Gender: Male
Posts: 4.475


Più grande è la lotta, e più è glorioso il trionfo


WWW
« Reply #2 on: 22-03-2011, 16:52:26 »

Mah... da come è scritto non c'è modo di distinguere in assoluto la differenza tra i valori vero e falso di due generici oggetti Boolean : il parametro value passato nei costruttori viene semplicemente ignorato boh.

E poi, volessimo anche guardare i due oggetti TRUE e FALSE come variabili nel paradigma della programmazione funzionale, perché dover creare altri nuovi oggetti nuovi quando si invoca un metodo static-factory e non fare qualcosa come:
Code:
return value ? TRUE : FALSE;
?
Ovviamente TRUE e FALSE andrebbero opportunamente dichiarati come public, a meno di non dover creare altri metodi necessari per il confronto tra valori di verità contenuti intrinsecamente in due oggetti Boolean.

Ma poi giusto Boolean doveva chiamarsi questa classe, così da fare oscurare la classe standard java.lang.Boolean  testate?
Logged

La grande marcia della distruzione mentale proseguirà. Tutto verrà negato. Tutto diventerà un credo. È un atteggiamento ragionevole negare l'esistenza delle pietre sulla strada; sarà un dogma religioso affermarla. È una tesi razionale pensare di vivere tutti in un sogno; sarà un esempio di saggezza mistica affermare che siamo tutti svegli. Accenderemo fuochi per testimoniare che due più due fa quattro. Sguaineremo spade per dimostrare che le foglie sono verdi in estate. Non ci resterà quindi che difendere non solo le incredibili virtù e saggezze della vita umana, ma qualcosa di ancora più incredibile: questo immenso, impossibile universo che ci guarda dritto negli occhi. Combatteremo per i prodigi visibili come se fossero invisibili. Guarderemo l'erba e i cieli impossibili con uno strano coraggio. Saremo tra coloro che hanno visto eppure hanno creduto.

In tutto, amare e servire.

  
                            ن                           
I can deal with ads,
I can deal with buffer,
but when ads buffer
I suffer...

...nutrimi, o Signore, "con il pane delle lacrime; dammi, nelle lacrime, copiosa bevanda...

   YouTube 9GAG    anobii  S  Steam T.B.o.I. Wiki [univ] Lezioni private  ʼ  Albo d'Ateneo Unicode 3.0.1
Usa "Search" prima di aprire un post - Scrivi sempre nella sezione giusta - Non spammare - Rispetta gli altri utenti - E ricorda di seguire il Regolamento
Jack&Daxter
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 398



« Reply #3 on: 22-03-2011, 18:27:19 »

ah infatti Angelo allora sarà un errore...reversengineer purtroppo ancora nn posso rispondere ai tuoi post in quanto è la prima volta ke seguo la materia e  sn del 1 anno e qualsiasi cs ke il prof spieghi dv cercare d capire ke significhi...cmq posso assicurarvi ke ho perfettamente copiato ciò ke era scritto alla lavagna...Grazie a tutti  
Logged
Jack&Daxter
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 398



« Reply #4 on: 22-03-2011, 18:43:10 »

Ragazzi volevo esporvi un'altro dei miei dubbi :  da quello ke ho capito il costruttore telescopico potrebbe essere utilizzato quando abbiamo a che fare con tanti parametri ,ma nel caso in cui dobbiamo accedere all'ultimo costruttore
es  :
Code:
FattoriNutrizionali a  = new  FattoriNutrizionali (240,47,0,0,0,0,0,0,0,4)
diventa scomodo da utilizzare in quanto il programmatore deve ricordare i tipi e l'ordine dei parametri ,mentre diversamente potrebbe servire in questo caso
Code:
FattoriNutrizionali a  = new  FattoriNutrizionali (240,47,3)...
invece ,sempre da quello che ho capito io,esiste un'alternatica al costruttore telescopico che è il builder pattern che permette di accedere al costruttore senza rispettare l'ordine dei parametri ,es :
Code:
FattoriNutrizionali a  = new  FattoriNutrizionali.Builder(240,47).sodio(8).cairboidrati(7).build();
//oppure
FattoriNutrizionali a  = new  FattoriNutrizionali.Builder(240,47).cairboidrati(7).sodio(8).build();
..Corretto ??
Logged
Angelo
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 274



« Reply #5 on: 23-03-2011, 17:45:00 »

provalo..così su due piedi ti direi di si..fatti una classe un main e provalo..builder è usato parecchio per l'immutabilità..
Logged

..elimindo il ponte pedonale di andrea doria..hanno eliminato una parte di me!..
Stardust
Apprendista Forumista
**
Offline Offline

Posts: 450


L'amore è attesa di una gioia che qnd arrva annoia


« Reply #6 on: 23-03-2011, 23:07:56 »

Volevo sapere...ma in pratica una  delle diverse funzioni del factory method è quella di tornare nuove istanze ansichè creare nuovi oggetti?Huh?  testate
Logged

L'acqua ni vagna...u ventu n'asciuca e... u RUM e PERA n'aiutaaaa...
ɹǝǝuıƃuǝsɹǝʌǝɹ
Administrator
God of the Forum
*****
Offline Offline

Gender: Male
Posts: 4.475


Più grande è la lotta, e più è glorioso il trionfo


WWW
« Reply #7 on: 24-03-2011, 00:06:01 »

Volevo sapere...ma in pratica una delle diverse funzioni del factory method è quella di tornare nuove istanze anziché creare nuovi oggetti????  testate
"Tornare nuove istanze" e "creare nuovi oggetti" sembra siano sinonimi ...
Logged

La grande marcia della distruzione mentale proseguirà. Tutto verrà negato. Tutto diventerà un credo. È un atteggiamento ragionevole negare l'esistenza delle pietre sulla strada; sarà un dogma religioso affermarla. È una tesi razionale pensare di vivere tutti in un sogno; sarà un esempio di saggezza mistica affermare che siamo tutti svegli. Accenderemo fuochi per testimoniare che due più due fa quattro. Sguaineremo spade per dimostrare che le foglie sono verdi in estate. Non ci resterà quindi che difendere non solo le incredibili virtù e saggezze della vita umana, ma qualcosa di ancora più incredibile: questo immenso, impossibile universo che ci guarda dritto negli occhi. Combatteremo per i prodigi visibili come se fossero invisibili. Guarderemo l'erba e i cieli impossibili con uno strano coraggio. Saremo tra coloro che hanno visto eppure hanno creduto.

In tutto, amare e servire.

  
                            ن                           
I can deal with ads,
I can deal with buffer,
but when ads buffer
I suffer...

...nutrimi, o Signore, "con il pane delle lacrime; dammi, nelle lacrime, copiosa bevanda...

   YouTube 9GAG    anobii  S  Steam T.B.o.I. Wiki [univ] Lezioni private  ʼ  Albo d'Ateneo Unicode 3.0.1
Usa "Search" prima di aprire un post - Scrivi sempre nella sezione giusta - Non spammare - Rispetta gli altri utenti - E ricorda di seguire il Regolamento
Chuck_son
Forumista Eroico
*****
Offline Offline

Gender: Male
Posts: 1.583



WWW
« Reply #8 on: 24-03-2011, 15:09:55 »

oggi il prof ha detto che il costruttore puo essere sia pubblico che privato.. è in base al programmatore..quello standard comunque è privato
Logged

Aliens Exist
Stardust
Apprendista Forumista
**
Offline Offline

Posts: 450


L'amore è attesa di una gioia che qnd arrva annoia


« Reply #9 on: 24-03-2011, 15:48:03 »

Volevo sapere...ma in pratica una delle diverse funzioni del factory method è quella di tornare nuove istanze anziché creare nuovi oggetti????  testate
"Tornare nuove istanze" e "creare nuovi oggetti" sembra siano sinonimi ...


già allora riformulo di nuovo!!! ritorna una nuova istanza di un oggetto già istanziato senza ridefinire parametri formali nuovi modifichiamo solo quelli che ci intaressano
Logged

L'acqua ni vagna...u ventu n'asciuca e... u RUM e PERA n'aiutaaaa...
Angelo
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 274



« Reply #10 on: 24-03-2011, 17:29:12 »

Volevo sapere...ma in pratica una delle diverse funzioni del factory method è quella di tornare nuove istanze anziché creare nuovi oggetti????  testate
"Tornare nuove istanze" e "creare nuovi oggetti" sembra siano sinonimi ...


già allora riformulo di nuovo!!! ritorna una nuova istanza di un oggetto già istanziato senza ridefinire parametri formali nuovi modifichiamo solo quelli che ci intaressano


vedi se qui ti è più chiaro: http://fabriziomorroia.com/2010/06/gli-static-factory-methods/
Logged

..elimindo il ponte pedonale di andrea doria..hanno eliminato una parte di me!..
Jack&Daxter
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 398



« Reply #11 on: 24-03-2011, 17:36:29 »

ringrazio il prof e a tutte x le risposte  
« Last Edit: 24-03-2011, 20:42:38 by salvopuglisi » Logged
ɹǝǝuıƃuǝsɹǝʌǝɹ
Administrator
God of the Forum
*****
Offline Offline

Gender: Male
Posts: 4.475


Più grande è la lotta, e più è glorioso il trionfo


WWW
« Reply #12 on: 24-03-2011, 19:58:32 »

Ma di preciso il prof. dove ti ha risposto in questa discussione?
« Last Edit: 24-03-2011, 20:00:29 by reversengineer » Logged

La grande marcia della distruzione mentale proseguirà. Tutto verrà negato. Tutto diventerà un credo. È un atteggiamento ragionevole negare l'esistenza delle pietre sulla strada; sarà un dogma religioso affermarla. È una tesi razionale pensare di vivere tutti in un sogno; sarà un esempio di saggezza mistica affermare che siamo tutti svegli. Accenderemo fuochi per testimoniare che due più due fa quattro. Sguaineremo spade per dimostrare che le foglie sono verdi in estate. Non ci resterà quindi che difendere non solo le incredibili virtù e saggezze della vita umana, ma qualcosa di ancora più incredibile: questo immenso, impossibile universo che ci guarda dritto negli occhi. Combatteremo per i prodigi visibili come se fossero invisibili. Guarderemo l'erba e i cieli impossibili con uno strano coraggio. Saremo tra coloro che hanno visto eppure hanno creduto.

In tutto, amare e servire.

  
                            ن                           
I can deal with ads,
I can deal with buffer,
but when ads buffer
I suffer...

...nutrimi, o Signore, "con il pane delle lacrime; dammi, nelle lacrime, copiosa bevanda...

   YouTube 9GAG    anobii  S  Steam T.B.o.I. Wiki [univ] Lezioni private  ʼ  Albo d'Ateneo Unicode 3.0.1
Usa "Search" prima di aprire un post - Scrivi sempre nella sezione giusta - Non spammare - Rispetta gli altri utenti - E ricorda di seguire il Regolamento
Chuck_son
Forumista Eroico
*****
Offline Offline

Gender: Male
Posts: 1.583



WWW
« Reply #13 on: 24-03-2011, 20:34:13 »

Ma di preciso il prof. dove ti ha risposto in questa discussione?

questa risposta come la consideriamo spam?? [cit] ahhaha boh
Logged

Aliens Exist
Jack&Daxter
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 398



« Reply #14 on: 24-03-2011, 20:44:55 »

ahaha ragazzi , il prof oggi lo ha spiegato a lezione perchè aveva detto che qualcuno di noi (cioè io) ha fatto la domanda sullo static factory...Quindi siccome il prof guarda il forum mi sembra giusto ringraziarlo ...
cmq effettivamente nel mio ultimo post non mi ero espresso a 360° 
Logged
Pages: [1] 2   Go Up
Print
Jump to: