Class ListinoScontato

java.lang.Object
it.unimi.di.prog2.temisvolti.bancarelle.AbstracListinoUnitario
it.unimi.di.prog2.temisvolti.bancarelle.ListinoScontato
All Implemented Interfaces:
Listino

public class ListinoScontato extends AbstracListinoUnitario
Classe concreta che implementa un listino in cui il prezzo totale di n giocattoli di un dato tipo è pari a n volte il prezzo unitario di tale giocattolo (eventualmente scontato per i valori di n che eccedono una certa soglia).

Ad esempio, se la soglia fosse 20 e lo sconto 30%, acquistando un giocattolo di prezzo unitario 12, i primi 20 giocattoli avrebbero un prezzo di 12 l'uno, quelli dal 21 in poi avrebbero prezzo pari a 8 (che è 12 a cui viene applicata una riduzione del 30%).

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final int
    La soglia e lo sconto che caratterizzano questo scontrino.
    private final int
    La soglia e lo sconto che caratterizzano questo scontrino.
  • Constructor Summary

    Constructors
    Constructor
    Description
    ListinoScontato(Map<Giocattolo,Integer> prezzoUnitario, int soglia, int sconto)
    Costruisce un listino a partire da una mappa tra giocattoli e prezzi unitari e i valori di soglia e sconto.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    prezzo(int num, Giocattolo giocattolo)
    Indica il prezzo di un certo numero di giocattoli di un dato tipo.

    Methods inherited from class it.unimi.di.prog2.temisvolti.bancarelle.AbstracListinoUnitario

    conosce, prezzoUnitario

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • soglia

      private final int soglia
      La soglia e lo sconto che caratterizzano questo scontrino.
    • sconto

      private final int sconto
      La soglia e lo sconto che caratterizzano questo scontrino.
  • Constructor Details

    • ListinoScontato

      public ListinoScontato(Map<Giocattolo,Integer> prezzoUnitario, int soglia, int sconto)
      Costruisce un listino a partire da una mappa tra giocattoli e prezzi unitari e i valori di soglia e sconto.
      Parameters:
      prezzoUnitario - la mappa.
      soglia - la soglia.
      sconto - lo sconto.
      Throws:
      IllegalArgumentException - se la soglia non è positiva, o lo sconto non è compreso tra 1 e 100 (estremi inclusi).
      See Also:
  • Method Details

    • prezzo

      public 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
      Specified by:
      prezzo in class AbstracListinoUnitario
      Parameters:
      num - il numero di giocattoli.
      giocattolo - il giocattolo.
      Returns:
      il prezzo del dato numero di giocattoli indicati.