Finalize a implementação de uma moto. Adicione ao seguinte código o atributo que deverá conter a velocidade instantânea da moto. Além disso, faça os métodos acelerar e desacelerar que deverão incrementar ou diminuir em 10 a velocidade da moto e imprimir o valor da velocidade na tela.
Passo 1
Eai, tudo tranquilo?
Nessa questão, nós teremos que modificar o código dado, criando um novo atributo e dois novos métodos. Os novos métodos, e , deverão modificar os atributos de e .
Vamos começar as modificações no código declarando o atributo e os métodos e dentro do escopo da classe .
Perceba que iniciamos o atributo com valor , para ser coerente com os demais, ou seja, como a moto normalmente inicia desligada e parada, faz sentido a sua velocidade inicial seja .
Passo 2
Agora, vamos implementar o método . Vamos começar utilizando um para checar se a moto está ligada. Caso ela esteja, vamos checar se, caso acelerarmos, ela ainda vai estar dentro da velocidade aceitável. Caso ambos sejam verdade, vamos incrementar a velocidade da moto.
Após isso, vamos checar a condição do atributo , para sabermos se a moto já estava movimentando ou estava parado. Se ela já estivesse se movimentando, vamos somente imprimir na tela o seu novo valor. Caso ela esteja parada, vamos mudar o valor do atributo e imprimir na tela que agora ela está se movimentando e a sua velocidade.
Caso incrementássemos a velocidade da moto e ela ultrapassasse a velocidade limite, vamos fazer ela ser igual a velocidade limite.
Por fim, vamos considerar o caso da moto estar desligada e vamos imprimir uma mensagem dizendo que precisamos ligá-la primeiro.
Passo 3
Vamos implementar o método . Assim como o método , vamos iniciar checando se a moto está ligada. Caso ela esteja ligada, vamos checar se ela está se movimentando e, em caso positivo, vamos checar se diminuíssemos a velocidade dela em 10, ela ainda estaria se movimentando. Isso serve para evitarmos uma velocidade negativa. Em caso positivo, vamos reduzir a sua velocidade e imprimir na tela.
Após isso, vamos checar se a velocidade da moto agora é nula. Se for, vamos mudar o estado de para .
Agora, vamos considerar o caso de, se desacelerarmos a moto em 10 e a sua velocidade ficar negativa. Nesse caso, vamos fazer a sua velocidade ser nula, mudar o valor do atributo e imprimir na tela que a moto parou.
Por fim, vamos acrescentar os casos dela não estar se movimentando e já está desligada.