L'Amphibien est-il un bateau ou une voiture ?
Imaginez un monde où nos moyens de transport ne se limitent pas uniquement aux routes ou aux eaux, mais peuvent être les deux à la fois. Dans ce contexte innovant, nous avons besoin d'un dispositif de transport capable de fonctionner aussi bien sur les routes que sur les plans d'eau.
Pour répondre à ce besoin, vous êtes chargé de concevoir deux classes de base
Car
et Boat
, ainsi qu'une classe dérivée Amphibian
, qui héritera des deux classes de base.
La classe
Car
doit avoir une méthode drive(distance)
, qui, lorsqu'elle est invoquée, augmente le compteur kilométrique de la voiture de la distance donnée et renvoie la nouvelle valeur.La classe
Boat
doit avoir une méthode sail(distance)
, qui, lorsqu'elle est invoquée, augmente le compteur du bateau de la distance donnée et renvoie la nouvelle valeur.La classe
Amphibian
doit hériter des méthodes drive()
et sail()
, et doit être capable d'invoquer les deux. Elle doit également tenir compte de la distance totale parcourue, que ce soit sur route ou sur l'eau.La méthode
total_distance()
doit renvoyer la distance totale parcourue par le véhicule amphibie, en combinant les distances couvertes sur route et sur l'eau.Entrée | Sortie |
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