Drop hier links of afbeeldingen om ze aan de editor toe te voegen.

In deze oefening moet je een voorraadbeheersysteem implementeren met behulp van stacks. Het doel is om realistische voorraadoperaties te simuleren, waarbij producten in batches worden beheerd en het Last-In-First-Out (LIFO)-principe wordt toegepast. Deze aanpak weerspiegelt scenario’s waarin de meest recent toegevoegde voorraad als eerste wordt gebruikt, zoals bij duurzame goederen.

Inventory

Implementeer de Batch-klasse (1 punt)

Maak de Batch-klasse die een batch van de voorraad van een product vertegenwoordigt. Elk Batch-object moet bevatten:

De klasse bevat ook een tostring-methode str die de batch als volgt weergeeft:

Batch(quantity=[quantity], cost_per_unit=[cost_per_unit])

Implementeer de Product-klasse (6 punten):

Maak de Product-klasse (1 punt) die een product vertegenwoordigt met een stack van voorraadbatches. Elk Product-object moet bevatten:

Deze klasse moet de volgende methoden bevatten:

De klasse bevat ook een tostring-methode str (1 punt) die het product als volgt weergeeft:

Product [product_name]: 
Batch(quantity=[quantity_batch1 from batch_1], cost_per_unit=[cost_per_unit from batch_1]) 
Batch(quantity=[quantity_batch1 from batch_2], cost_per_unit=[cost_per_unit from batch_2])
....
Batch(quantity=[quantity_batch1 from batch_n], cost_per_unit=[cost_per_unit from batch_n])