Select four
examples that initialize a NumberFormat reference using a factory.
A.
NumberFormat nf1 = new DecimalFormat(); NO
B.
NumberFormat nf2 = new DecimalFormat(“0.00″) ; NO
C.
NumberFormat nf3 = NumberFormat.getInstance();
D.
NumberFormat nf4 = NumberFormat.getIntegerInstance();
E.
NumberFormat nf5= DecimalFormat.getNumberInstance ();
F.
NumberFormat nf6 = Number Format.getCurrencyInstance () ;
Risposta C,D,E
ed F
Il modello di progettazione Metodo Factory (Factory
Method design pattern) è un modo per incapsulare la creazione di oggetti. Senza
un metodo factory (fabbrica) si deve chiamare direttamente il costruttore di
una classe :
Pippo x = new Pippo();
come nelle risposte A e B.
invece col Factory Method design pattern si crea
dentro la classe un metodo factory :
Pippo x Pippo.creazione();
Tutti i costruttori vengono messi come privati in
modo da non essere accessibili all’esterno della classe, mentre il metodo
factory viene messe static in modo da poter essere chiamato anche senza un’istanza
della classe.
NumberFormat ha un molti metodi factory :
public static final NumberFormat
getInstance()
public static NumberFormat
getInstance(Locale inLocale)
public static final NumberFormat
getNumberInstance()
public static NumberFormat
getNumberInstance(Locale inLocale)
public static final NumberFormat
getIntegerInstance()
public static NumberFormat
getIntegerInstance(Locale inLocale)
public static final NumberFormat
getCurrencyInstance()
public static NumberFormat
getCurrencyInstance(Locale inLocale)
public static final NumberFormat
getPercentInstance()
public static NumberFormat
getPercentInstance(Locale inLocale)
utilizzati nelle risposte C,D,E ed F.
Riferimenti:
http://java.boot.by/ocpjp7-upgrade/ch02s04.html