Class AbstracListinoUnitario

java.lang.Object
it.unimi.di.prog2.temisvolti.bancarelle.AbstracListinoUnitario
All Implemented Interfaces:
Listino
Direct Known Subclasses:
ListinoLineare, ListinoScontato

public abstract class AbstracListinoUnitario extends Object implements Listino
Classe astratta immutabile che rappresenta i listini in cui il prezzo di un certo numero di giocattoli di un certo tipo dipende dal prezzo unitario di un giocattolo di tale tipo.
  • Field Details

    • prezzoUnitario

      private final Map<Giocattolo,Integer> prezzoUnitario
      Mappa che tiene traccia del costo prezzo unitario di ciascun giocattolo noto al listino.
  • Constructor Details

    • AbstracListinoUnitario

      public AbstracListinoUnitario(Map<Giocattolo,Integer> prezzoUnitario)
      Costruisce un listino data una mappa da giocattoli al loro prezzo unitario.
      Parameters:
      prezzoUnitario - mappa avente per chiav ii giocattoli e per valori i prezzi unitari.
      Throws:
      NullPointerException - se la mappa è, o contiene chiavi o valori null.
      IllegalArgumentException - se uno dei prezzi non è postivio.
  • Method Details

    • prezzoUnitario

      public int prezzoUnitario(Giocattolo giocattolo)
      Restituisce il prezzo unitario di un oggetto.
      Parameters:
      giocattolo - il giocattolo.
      Returns:
      il suo prezzo unitario.
      Throws:
      NullPointerException - se il giocattolo è null
      NoSuchElementException - se il listino ignora il prezzo del giocattolo.
    • conosce

      public boolean conosce(Giocattolo giocattolo)
      Description copied from interface: Listino
      Indica se il listino conosce il prezzo di un dato giocattolo.
      Specified by:
      conosce in interface Listino
      Parameters:
      giocattolo - il giocattolo.
      Returns:
      se il listino conosce, o meno, il prezzo del giocattolo.
    • prezzo

      public abstract int prezzo(int num, Giocattolo giocattolo)
      Description copied from interface: Listino
      Indica il prezzo di un certo numero di giocattoli di un dato tipo.
      Specified by:
      prezzo in interface Listino
      Parameters:
      num - il numero di giocattoli.
      giocattolo - il giocattolo.
      Returns:
      il prezzo del dato numero di giocattoli indicati.