[JAVA]Come rendere opzionale un parametro di un costruttore?

cicciosuse

Nuovo Utente
29 Dic 2007
1
2
0
Salve a tutti!
Spero possiate aiutarmi al mio primo post! 0:)
Ho la necessità di costruire una rubrica in java.
Supponiamo che una persona ha un "nome" e "numero".
Nel momento in cui creo il programma che interagisce con l'utente,questo chiede all'utente di immettere sia nome e numero della persona.
Fin qui tutto ok.

Il problema sorge nel momento in cui voglio rendere opzionale il numero.
Cioè deve essere l'utente a scegliere se mettere oppure no,il numero della persona.
Ad esempio:
Codice:
public class Persona {
	//COSTRUTTORI
public Persona(){
	nome = "";
	numero = "";
}
public Persona(String Nome,[COLOR="Red"]String Numero[/COLOR]){
	nome = Nome;
	numero = Numero; 
}
In che modo si può rendere OPZIONALE il parametro Numero all'utente?

Grazie a tutti!
 

Matt89

Utente Attivo
4 Feb 2006
52
1
0
30
Vicenza
Ammetto che studio java solo a scuola e quindi non sono preparatissimo a riguardo.
Non capisco perchè usi due costruttori, comunque se ti trovi bene così puo' andare bene.
Dovresti postare un po' più codice (come richiami quella classe dal main?)

Rendere opzionare un parametro al costruttore non si puo', ma non è un problema: se l'utente fa a meno ad inserire un numero di telefono, quella variabile la puoi settare come NULL oppure 0. In pratica la varibile esiste -ed è nulla- anche se l'utente non inserisce un numero
 
  • Like
Reactions: ottofonsuppost

Spire81

Nuovo Utente
14 Gen 2008
9
1
0
Puoi risolvere facilmente mediante l'overload del costruttore: hai già previsto due costruttori, quindi puoi prevederne facilmente un terzo con un numero diverso di parametri che richiama il secondo costruttore:

public Persona(String nome){
Persona(nome, "");

}


questo dei diversi costruttori è un metodo molto utilizzato proprio nei casi come il tuo.
Naturalmente ci sono altre strade, questa è comunque abbastanza funzionale e (giudizio soggettivo) abbastanza elegante.
 
  • Like
Reactions: ottofonsuppost