mercoledì 6 novembre 2013

Q37

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

 

Nessun commento:

Posta un commento