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

Discussione in 'Java' iniziata da cicciosuse, 29 Dicembre 2007.

  1. cicciosuse

    cicciosuse Nuovo Utente

    Registrato:
    29 Dicembre 2007
    Messaggi:
    1
    Mi Piace Ricevuti:
    2
    Punteggio:
    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!
     
    A madara444 e ottofonsuppost piace questo messaggio.
  2. Matt89

    Matt89 Utente Attivo

    Registrato:
    4 Febbraio 2006
    Messaggi:
    52
    Mi Piace Ricevuti:
    1
    Punteggio:
    0
    Località:
    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
     
    A ottofonsuppost piace questo elemento.
  3. Spire81

    Spire81 Nuovo Utente

    Registrato:
    14 Gennaio 2008
    Messaggi:
    9
    Mi Piace Ricevuti:
    1
    Punteggio:
    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.
     
    A ottofonsuppost piace questo elemento.
  4. ottofonsuppost

    ottofonsuppost Utente Attivo

    Registrato:
    10 Maggio 2016
    Messaggi:
    170
    Mi Piace Ricevuti:
    13
    Punteggio:
    18
    if numero ="" then....
     
Sto caricando...

Condividi questa Pagina