Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação Orientada a Objetos - 2012 Prof. Vinícius Sebba Patto. Considere o diagrama de classes na última página. Desenvolva as respectivas classes e interface em Java, de acordo com as instruções abaixo: 1 – É desejável as seguintes características e comportamentos à classe VeiculoMotorizado: 1.1 – Tenha um construtor recebendo parâmetros para os atributos nome e combustivel; velocidade deve ser iniciado como 0 e ligado, como false. 1.2 – O método acelera deve incrementar a propriedade velocidade. 1.3 – O método frea deve decrementar a propriedade velocidade. 1.4 – O método liga deve atribuir “true” à propriedade ligado. 1.5 – O método desliga deve atribuir “false” à propriedade ligado. 1.6 – O método getNome deve retornar a propriedade nome. 1.7 – O método getVelocidade deve retornar a propriedade velocidade. 1.8 – O método isLigado deve retornar a propriedade ligado. 1.9 – O método getCombustivel deve retornar a propriedade combustivel. 1.10 – O método getEstado deve ser abstrato, ter retorno string e ser implementado em subclasses. 2 – É desejável os seguintes comportamentos à classe VeiculoTerrestre: 2.1 – Tenha um construtor recebendo parâmetros para os atributos nome e combustivel; o construtor deve chamar o construtor da superclasse passando os seus respectivos parâmetros. 2.2 – Tenha um construtor recebendo parâmetros para os atributos nome, combustivel, numeroRodas e numeroMarchas; o construtor deve chamar o construtor da superclasse passando os seus respectivos parâmetros (nome e combustírvel). A propriedade sentido deve ser iniciada com “Seguindo reto”. As demais propriedades, de acordo com os parâmetros. 2.3 – O método sinalizarConvDireita deve atribuir à propriedade sentido o valor “Convergindo à direita”. 2.4 – O método sinalizarConvEsquerda deve atribuir à propriedade sentido o valor “Convergindo à esquerda”. 2.5 – O método desligarSeta deve atribuir à propriedade sentido o valor “Seguindo reto”. 2.6 – O método toString deve retornar uma String do seguinte tipo: “DESCRIÇÃO: Nome do carro: nome; Combustível: combustivel; Número de rodas: numeroRodas; Número de marchas: numeroMarchas" (no final da mensagem, concatene “\n” para quebrar linha). 2.7 – O método getEstado deve retornar uma String do seguinte tipo: “ESTADO: Estado do motor: ligado; Velocidade: velocidade; Sentido do veículo: sentido" (no final da mensagem, concatene “\n” para quebrar linha). 3 – É desejável as seguintes características e comportamentos à classe VeiculoAereo: 3.1 – Tenha um construtor recebendo parâmetros para os atributos nome e combustivel; o construtor deve chamar o construtor da superclasse passando os seus respectivos parâmetros. 3.2 – Tenha um construtor recebendo parâmetros para os atributos nome, combustivel, tetoServico e pistaServico; o construtor deve chamar o construtor da superclasse passando os seus respectivos parâmetros (nome e combustírvel). A propriedade altitude, sentidoHorizontal e sentidoVertical devem ser iniciadas com os respectivos valores: 0, "Segindo reto" e "Mantendo o nível". As demais propriedades, de acordo com os parâmetros. 3.3 – O método subir deve atribuir à propriedade sentidoVertical o valor “Subindo” e incrementar a altitude. 3.4 – O método descer deve atribuir à propriedade sentidoVertical o valor “Descendo” e decrementar a altitude. 3.5 – O método manterNivel deve atribuir à propriedade sentidoVertical o valor “Mantendo o nível”. 3.6 – O método virarDireita deve atribuir à propriedade sentidoHorizontal o valor “virando à direita”. 3.7 – O método virarEsquerda deve atribuir à propriedade sentidoHorizontal o valor “virando à esquerda”. 3.8 – O método manterSentido deve atribuir à propriedade sentidoHorizontal o valor “seguindo reto”. 3.9 – O método getTetoServico deve retornar a propriedade tetoServico. 3.10 – O método getAltitude deve retornar a propriedade altitude. 3.11 – O método toString deve retornar uma String do seguinte tipo: “DESCRIÇÃO: Nome do avião: nome; Combustível: combustivel; Teto de serviço: tetoServico; Pista de serviço: pistaServico" (no final da mensagem, concatene “\n” para quebrar linha). 3.12 – O método getEstado deve retornar uma String do seguinte tipo: “ESTADO: Estado do motor: ligado; Velocidade: velocidade; Sentido do avião: sentidoVertical e sentidoHorizontal; Altitude do avião: altitude" (no final da mensagem, concatene “\n” para quebrar linha). Implementadas as classes e interface, crie duas classes: Carro e Aviao. Com as seguintes características: i. Para a classe Carro: i.i. Tenha a propriedade carro, do tipo VeiculoTerrestre; i.ii. Tenha um construtor que receba os seguintes parâmetros: nome, combustível, numeroRodas e numeroMarchas. Instancie o objeto carro, do tipo VeiculoTerrestre, com os respectivos parâmetros. i.iii. Crie o método público voltinha, que não retorne valor, e faça o seguinte: imprima (println) a descrição do carro; ligue o carro; acelere o carro até 220 Km/h; imprima o estado do carro; sinalize conversão à direita; reduza a velocidade até 120 Km/h; imprima o estado do carro; desligue a seta; acelere para 185 Km/h; imprima o estado do carro; ligue a seta para a esquerda; reduza a velocidade para 140 Km/h; imprima o estado do carro; desligue a seta; imprima o estado do carro; pare o carro; desligue o motor; e imprima o estado do carro. A. Para a classe Aviao: A.A: Tenha a propriedade aviao, do tipo VeiculoAereo; A.B: Tenha um construtor que receba os seguintes parâmetros: nome, combustível, tetoServico e pistaServico. Instancie o objeto aviao, do tipo VeiculoAereo, com os respectivos parâmetros. A.C: Crie o método público voltinha, que não retorne valor, e faça o seguinte: imprima (println) a descrição do aviao; ligue o aviao; acelere o aviao até 350 Km/h; imprima o estado do aviao; suba até 1000 metros e acelere o avião até 1350 Km/h; faça o avião virar a direita; imprima o estado do avião; mantenha o sentido do vôo; acelere para 2550 Km/h e suba até 2200 metros; imprima o estado do avião; faça o avião subir até o teto de serviço; mantenha o nível; imprima o estado do avião; abaixe a aeronave até 1000 metros de altitude; imprima o estado do avião; reduza a velocidade até 400 km/h; imprima o estado do avião; abaixe a aeronave até a altitude de 0 metro; pare o avião; desligue o motor; e imprima o estado do avião. Terminadas as classes acima, é hora de vê-las em ação. Crie uma classe com o nome Inicial, que possua o método publico, estático e sem retorno main(String[] args). Nele, instancie os seguintes objetos: - Carro opala = new Carro("Opala", "gasolina", 4, 5); - Aviao f16 = new Aviao("F16", "querosene", 15250, 500); - Em seguida, chame o seu Opala para dar uma voltinha, depois, o seu F16! :D
Compartilhar