L'Amphibian è una Barca o un'Auto?
Immagina un mondo in cui i nostri mezzi di trasporto non sono confinati solo a strade o acque, ma possono essere entrambi. In questo scenario innovativo, abbiamo bisogno di un dispositivo di trasporto che possa funzionare sia su strada che su corsi d'acqua.
Per soddisfare questa necessità, ti viene chiesto di progettare due classi base,
Car
e Boat
, e una classe derivata Amphibian
, che erediterà da entrambe le classi base.
La classe
Car
dovrebbe avere un metodo drive(distance)
che, quando invocato, incrementa il contachilometri dell'auto della distanza specificata e restituisce la nuova lettura.La classe
Boat
dovrebbe avere un metodo sail(distance)
che, quando invocato, incrementa il contachilometri della barca della distanza specificata e restituisce la nuova lettura.La classe
Amphibian
dovrebbe ereditare i metodi drive()
e sail()
, ed essere in grado di invocarli entrambi. Dovrebbe anche tenere traccia della distanza totale percorsa, sia su strada che in acqua.Il metodo
total_distance()
dovrebbe restituire la distanza totale coperta dal veicolo anfibio, combinando le distanze percorse su strada e su acqua.Input | Output |
amphibian=Amphibian(); print(amphibian.drive(100)); print(amphibian.sail(200)); print(amphibian.total_distance()) | 100
300
300 |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB