Originariamente inviata da
Jamie04
codice:
public Asta(int id, String venditore, String nomeOggetto, String descrizione, String categoria, Double prezzoBase,
Date dataIns, Date scadenza, Boolean statoAsta) {
this.id=id;
this.venditore=venditore;
this.nomeOggetto=nomeOggetto;
this.descrizione=descrizione;
this.categoria=categoria;
this.prezzoBase=prezzoBase;
this.dataIns=dataIns;
this.scadenza=scadenza;
this.statoAsta=statoAsta;
}
public Asta(int id, String venditore, String nomeOggetto, String descrizione, String categoria, Double prezzoBase,
Date dataIns, Date scadenza, Boolean statoAsta, Offerta offertaCorrente, String vincitore, Informazioni info) {
this.id=id;
this.venditore=venditore;
this.nomeOggetto=nomeOggetto;
this.descrizione=descrizione;
this.categoria=categoria;
this.prezzoBase=prezzoBase;
this.dataIns=dataIns;
this.scadenza=scadenza;
this.statoAsta=statoAsta;
}
Non ho capito cosa intendi con "sarebbe bene implementare uno dei due come invocazione dell'altro".
Che se guardi ... ci sono evidenti duplicazioni nei due costruttori. Le PUOI evitare implementando uno in funzione dell'altro.
Tra l'altro nel secondo ... offertaCorrente/vincitore/info che fine fanno?? Non li stai usando!
Questi sono ad esempio i 7 costruttori di java.awt.Rectangle.
codice:
public Rectangle() {
this(0, 0, 0, 0);
}
public Rectangle(Rectangle r) {
this(r.x, r.y, r.width, r.height);
}
public Rectangle(int x, int y, int width, int height) {
this.x = x;
this.y = y;
this.width = width;
this.height = height;
}
public Rectangle(int width, int height) {
this(0, 0, width, height);
}
public Rectangle(Point p, Dimension d) {
this(p.x, p.y, d.width, d.height);
}
public Rectangle(Point p) {
this(p.x, p.y, 0, 0);
}
public Rectangle(Dimension d) {
this(0, 0, d.width, d.height);
}
C'è solo UN costruttore che assegna ai campi. Gli altri 6 sono "in funzione" di quello.