2
respostas

Método de classe Piloto chamando método de classe Moto?

Alguém pode me ajudar? Estou com uma dúvida e, para não apenas jogar o código abaixo como se alguém fosse obrigado a desvenda-lo (rs) vou tentar explicar minha dúvida: Estou tentando criar um programa que simula um piloto pilotando uma moto. Simples assim. Porém, quando na vida real falamos "vou ligar a moto", na verdade não vamos ligar a moto. Na verdade nós vamos solicitar que a moto ligue. Ou seja, iremos girar a chave na ignição. Se ela vai ligar, vai depender não do piloto mas sim da moto (talvez não tenha combustível, talvez a injeção eletrônica está com defeito, etc) pois o piloto fez a parte dele que foi solicitar que ela ligue. Isto em código Java eu coloquei com a seguinte lógica: a classe Piloto possui um método solicitarLigar() e dentro dele, existe um método da classe Moto que se chama ligar(), e este método vai para a classe Moto e altera a variável boolean ligada da classe Moto para true. Este raciocínio está correto? Caso precise eu boto o código aqui. Obrigado!

2 respostas

O método ligar da classe Moto achei que ficou perfeito - corresponderia à chave da moto, que é a "interface" que a moto oferece para ligar. O método solicitarLigar é que talvez tenha ficado muito baixo nível - você poderia criar métodos de alto nível para o piloto, como irPara(destino), que executariam um conjunto de ações na moto, como ligar, acelerar, etc - afinal é responsabilidade do piloto saber dirigir a moto.

Obrigado pelo retorno Leonardo! Na verdade eu coloquei o solicitarLigar() aqui no fórum mas eu criei os outros também! subirNaMoto(), descerDaMoto(), solicitarLigar(), solicitarDesligar(), curvarDireita(), curvarEsquerda(), irReto(), subirMarcha() e descerMarcha()... o problema é que meu código não está funcionando rsrs... não sei o porquê. Será que existe algum meio fácil de eu poder enviar o código e você avaliar para mim o motivo? Ficaria agradecido. Abç.