A linguagem Java segue o paradigma de programação orientado a objetos, com isso toda a nossa programação baseia-se nesses conceitos. Para esta atividade, criaremos uma aplicação usando o NetBeans, para controlar um conjunto de automóveis.
Para isso, você vai precisar criar:
- Um novo projeto no NetBeans, do tipo "Aplicativo Java"
- Uma classe "Automóvel" que será uma superclasse.
- As classes "Carro", "Moto" e "Caminhão", que herdam as características da classe "Automóvel".
- Os automóveis devem possuir motor (que guarda a informação se está ligado ou desligado), número de rodas, número de portas e velocidade atual.
- Todos os automóveis são criados com o motor desligado e a velocidade 0.
- Ao criar um carro, moto ou caminhão, o sistema já define o número de portas e rodas automaticamente. Vamos convencionar carros com 4 portas, caminhão com duas e motos com 0.
- Os automóveis devem possuir os métodos ligar, desligar, acelerar, diminuir e trocarPneus.
- Ao ligar e desligar, o atributo motor deve ser alterado.
- Todos os veículos possuem os mesmos métodos acelerar e diminuir, mas ao acelerar ou diminuir, os carros terão uma variação (para cima ou para baixo) de 10km/h, as motos terão uma variação de 20km/h e os caminhões de 5km/h (Só funciona se o automóvel estiver ligado).
- Se o motorista acelerar e a velocidade passar do limite (110km/h para carros e motos, 80km/h para caminhões), o sistema deve imprimir um aviso.
- O método trocarPneus deve exibir quanto você vai gastar, dado que um pneu custe R$150,00 (valor hipotético).
- Por fim, você deve criar dois novos atributos que considere pertinentes para automóveis e criar métodos que manipulem esses atributos.
- Um método "exibeEstado" que mostra se o carro está ligado ou desligado e a velocidade.
No método principal do sistema, deixe os seguintes comandos:
- Crie um carro, uma moto e um caminhão.
- Ligue o carro, o caminhão e a moto.
- Acelere duas vezes cada um dos três.
- Troque os pneus do caminhão.
- Exiba o estado dos três.
/**
*
* @author joao
*/
public class Automovel {
private boolean motor;
private int nRodas;
private int nPortas;
private double velocidadeAtual;
private double limiteVelocidade;
private double aceleracao;
public Automovel() {
this.motor = false;
this.velocidadeAtual = 0;
}
public Automovel(int nRodas, int nPortas, double limiteVelocidade, double aceleracao) {
this.nRodas = nRodas;
this.nPortas = nPortas;
this.limiteVelocidade = limiteVelocidade;
this.aceleracao = aceleracao;
this.motor = false;
this.velocidadeAtual = 0;
}
public void ligar() {
this.motor = true;
}
public void desligar() {
this.motor = false;
}
public boolean acelerar() {
if (motor) {
velocidadeAtual += aceleracao;
if (velocidadeAtual > limiteVelocidade) {
System.out.println("O limite de velocidade de <+" + limiteVelocidade + "> foi ultrapassado!");
}
return true;
}
return false;
}
public boolean diminuir() {
if (motor) {
velocidadeAtual -= aceleracao;
return true;
}
return false;
}
public boolean frear() {
if (motor) {
while (velocidadeAtual > 0) {
velocidadeAtual -= aceleracao;
System.out.println("Reduzindo Velocidade [" + velocidadeAtual + "]Km/h");
}
}
return false;
}
public double trocarPneus() {
return this.nRodas * 150.0;
}
public void exibeEstado() {
System.out.println("O veiculo está[" + ((motor) ? "Ligado" : "Desligado" + "]"));
System.out.println("A velocidade Atual é[" + velocidadeAtual + "]");
}
public int getnRodas() {
return nRodas;
}
public int getnPortas() {
return nPortas;
}
public double getVelocidadeAtual() {
return velocidadeAtual;
}
public double getLimiteVelocidade() {
return limiteVelocidade;
}
public double getAceleracao() {
return aceleracao;
}
public void setLimiteVelocidade(double limiteVelocidade) {
this.limiteVelocidade = limiteVelocidade;
}
public void setAceleracao(double aceleracao) {
this.aceleracao = aceleracao;
}
}
/**
*
* @author joao
*/
public class Carro extends Automovel{
public Carro() {
super(4, 4, 110, 10);
}
}
/--
/**
*
* @author joao
*/
public class Caminhao extends Automovel {
public Caminhao() {
super(4, 2, 80, 5);
}
}
//--
/**
*
* @author joao
*/
public class Moto extends Automovel {
public Moto() {
super(2, 0, 110, 20);
}
}
/**
*
* @author joao
*/
public class PasseiJ {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Carro carro = new Carro();
Moto moto = new Moto();
Caminhao caminhao = new Caminhao();
caminhao.ligar();
carro.ligar();
moto.ligar();
for(int i=0;i<2;i++){
caminhao.acelerar();
carro.acelerar();
moto.acelerar();
}
caminhao.trocarPneus();
caminhao.exibeEstado();
carro.exibeEstado();
moto.exibeEstado();
caminhao.frear();
carro.frear();
moto.frear();
caminhao.desligar();
carro.desligar();
moto.desligar();
caminhao.exibeEstado();
carro.exibeEstado();
moto.exibeEstado();
}
}
Para escrever sua resposta aqui, entre ou crie uma conta.
Programação I
•UNICESUMAR
Compartilhar