81 lines
1.9 KiB
Java
81 lines
1.9 KiB
Java
package prodotti;
|
|
|
|
import java.util.Objects;
|
|
|
|
/**
|
|
* Classe che rappresenta Prodotti generici
|
|
* @author radaelli11353
|
|
*/
|
|
public class Prodotti {
|
|
private final int codiceBarre;
|
|
private final String descrizione;
|
|
private double prezzo;
|
|
|
|
public Prodotti(int codiceBarre, String descrizione, double prezzo) {
|
|
this.codiceBarre = codiceBarre;
|
|
this.descrizione = descrizione;
|
|
this.prezzo = prezzo;
|
|
}
|
|
|
|
/**
|
|
* Ritorna il valore di codiceBarre
|
|
* @return valore di codiceBarre
|
|
*/
|
|
public int getCodiceBarre () {
|
|
return codiceBarre;
|
|
}
|
|
|
|
/**
|
|
* Ritorna la descrizione
|
|
* @return descrizione
|
|
*/
|
|
public String getDescrizione () {
|
|
return descrizione;
|
|
}
|
|
|
|
/**
|
|
* Ritorna il prezzo
|
|
* @return prezzo
|
|
*/
|
|
public double getPrezzo () {
|
|
return prezzo;
|
|
}
|
|
|
|
/**
|
|
* Modifica il prezzo
|
|
* @param nuovoPrezzo Prezzo nuovo
|
|
*/
|
|
protected void setPrezzo(double nuovoPrezzo) {
|
|
prezzo = nuovoPrezzo;
|
|
}
|
|
|
|
/**
|
|
* Diminuisce il prezzo del prodotto del 5%
|
|
*/
|
|
public void applicaSconto() {
|
|
prezzo = prezzo - prezzo * 0.05;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "Prodotto[" + descrizione + ", prezzo:" + prezzo + ", codice a barre:" + codiceBarre + "]";
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(Object o) {
|
|
if(o == null) return false;
|
|
if(!(o instanceof Prodotti)) return false;
|
|
Prodotti p = (Prodotti) o;
|
|
return descrizione.equals(p.descrizione) && prezzo == p.prezzo && codiceBarre == p.codiceBarre;
|
|
}
|
|
|
|
@Override
|
|
public int hashCode() {
|
|
int hash = 7;
|
|
hash = 29 * hash + this.codiceBarre;
|
|
hash = 29 * hash + Objects.hashCode(this.descrizione);
|
|
hash = 29 * hash + (int) (Double.doubleToLongBits(this.prezzo) ^ (Double.doubleToLongBits(this.prezzo) >>> 32));
|
|
return hash;
|
|
}
|
|
}
|