Implementazione delle classi richieste a partire dell'interfaccia definita nell'assignment-2
Implementazione delle classi richieste a partire dell'interfaccia definita nell'assignment-2