Será o Anfíbio um Barco ou um Carro?
Imagine um mundo onde o nosso transporte não está apenas limitado a estradas ou rios, mas pode ser ambos. Neste cenário inovador, precisamos de um veículo que possa funcionar tanto em estradas como em corpos de água.
Para satisfazer essa necessidade, a sua tarefa é projetar duas classes base,
Car
e Boat
, e uma classe derivada Amphibian
, que irá herdar de ambas as classes base.
A classe
Car
deve ter um método drive(distance)
que, quando invocado, aumenta a leitura do odómetro do carro pela distância fornecida e retorna o novo valor.A classe
Boat
deve ter um método sail(distance)
que, quando invocado, aumenta a leitura do odómetro do barco pela distância fornecida e retorna o novo valor.A classe
Amphibian
deve herdar os métodos drive()
e sail()
, e ser capaz de invocar ambos. Além disso, deve manter o registo da distância total percorrida, seja em terra ou na água.O método
total_distance()
deve retornar a distância total coberta pelo veículo anfíbio, combinando as distâncias percorridas em estrada e em água.Entrada | Saída |
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