Class AbstractCompratore
java.lang.Object
it.unimi.di.prog2.temisvolti.bancarelle.AbstractCompratore
- Direct Known Subclasses:
CompratoreCasuale
,CompratoreMinimoUnitario
Classe astratta che rappresenta un compratore.
Un compratore, dato un insieme di bancarelle, può determinare per un data quantità di un certo
giocattola un Acquisto
che la realizzi. Può farlo secondo diverse strategie che
corrispondono a diverse implementazioni del metodo astratto compra(int, Giocattolo)
.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Set<Bancarella>
L'elenco di bancarelle da cui effettuare gli acquisti. -
Constructor Summary
ConstructorsConstructorDescriptionAbstractCompratore
(Set<Bancarella> bancarelle) Costruisce un compratore a partire dall'elenco di bancarelle da cui acquistare. -
Method Summary
Modifier and TypeMethodDescriptionabstract Acquisto
compra
(int num, Giocattolo giocattolo) Restituisce un acquisto data una certa quantità di un giocattolo da comprare.int
quantità
(Giocattolo giocattolo) Restituisce la quantità totale di un giocattolo acquistabile dall'unione di tutte le bancarelle.toString()
-
Field Details
-
bancarelle
L'elenco di bancarelle da cui effettuare gli acquisti.
-
-
Constructor Details
-
AbstractCompratore
Costruisce un compratore a partire dall'elenco di bancarelle da cui acquistare.- Parameters:
bancarelle
- le bancarelle.- Throws:
NullPointerException
- se le bancarello sono, o contengono,null
.IllegalArgumentException
- se l'insieme di bancarelle è vuoto.
-
-
Method Details
-
quantità
Restituisce la quantità totale di un giocattolo acquistabile dall'unione di tutte le bancarelle.- Parameters:
giocattolo
- il giocattolo.- Returns:
- la somma delle quantità del giocattolo in tutte le bancarelle.
- Throws:
NullPointerException
- se il giocattolo ènull
.
-
compra
Restituisce un acquisto data una certa quantità di un giocattolo da comprare.- Parameters:
num
- il numero di giocattoli da comprare.giocattolo
- il giocattolo da comprare.- Returns:
- un acquisto del giocattolo e quantità assegnate.
- Throws:
NullPointerException
- se il giocattolo ènull
.IllegalArgumentException
- se il numero non è positivio, o eccede la disponibilità complessiva delle bancarelle.
-
toString
-