Chiarimento this.

di il
3 risposte

Chiarimento this.

Ciao ragazzi vorrei chiedervi un ,chiarimento. Nell'implementazione di una classe Vettore ho:

Vettore(int dimensione,boolean Colonna) {
this (dimensione);
this.Colonna=Colonna;
}

La mia domanda è: perchè usa this(dimensione); invece di usare come solitamente si fa, this.dimensione=dimensione(come fa per colonna)???
grazie a tutti

3 Risposte

  • Re: Chiarimento this.

    Facendo
    this(dimensione)
    richiama il costruttore
    public Vettore(int dimensione)
    passandogli "dimensione" come parametro.
  • Re: Chiarimento this.

    Sì, serve per evitare duplicazione di codice (in questo caso è una singola istruzione ma ovviamente è buona prassi evitarla); nel tuo codice avresti hai probabilmente:
    
    public Vettore(int dimensione){
    this.dimensione = dimensione;
    }
    
    Vettore(int dimensione,boolean Colonna) {
    this (dimensione);
    this.Colonna=Colonna;
    }
    
    io sinceramente preferisco chiamare dai costruttori con meno parametri quelli con più parametri passando quelli che per me sono i valori di default:

    
    public Vettore(int dimensione){
    this(dimensione, false);
    }
    
    Vettore(int dimensione,boolean Colonna) {
    this.dimensione = dimensione;
    this.Colonna=Colonna;
    }
    
    Lo trovo più leggibile... Nel tuo caso, ad esempio, sapresti dire quanto vale l'attributo Colonna di un oggetto instanziato col costruttore con un parametro?
  • Re: Chiarimento this.

    Jam3s82 ha scritto:


    io sinceramente preferisco chiamare dai costruttori con meno parametri quelli con più parametri passando quelli che per me sono i valori di default

    ....


    Lo trovo più leggibile... Nel tuo caso, ad esempio, sapresti dire quanto vale l'attributo Colonna di un oggetto instanziato col costruttore con un parametro?
    Condivido!
Devi accedere o registrarti per scrivere nel forum
3 risposte