Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá bom dia galera...
Seguinte to com alguns probleminhas para associar duas classes e compartilhar seus metodos..
Estou estudando java a algum tempo e ainda nao consegui enteneder oque ocorre com os metodos dentro das class,
ai vai um exemplo..
irei usar um carro no qual possuo uma class motor
class Motor{
String tipo;
String combustivel;
int potencia;
int valvulas;
void configuramotor(){
this.tipo = JOptionPane.showInputDialog("Inseira o tipo do motor:");
this.combustivel = JOptionPane.showInputDialog("Qual combustivel usado pelo motor?");
this.potencia = Integer.parseInt(JOptionPane.showInputDialog("Potência final do motor será de:"));
this.valvulas = Integer.parseInt(JOptionPane.showInputDialog("Quantas valvulas terá o motor?"));
}
}
e possuo uma class car que seria o carro propriamente dito..
class car{
String marca;
String modelo;
String cor;
int velocidadmax;
int velocidadatu;
String marchaatual;
boolean ligado;
Motor engine;
na class car possuo varios metodos,sendo um que monta o carro,
void montacarro(){
this.marca = JOptionPane.showInputDialog("Qual a marca do Carro?");
this.modelo = JOptionPane.showInputDialog("Qual o modelo do Carro?");
this.cor = JOptionPane.showInputDialog("Qual a cor do Carro?");
//inseri velocidade maxima de acordo com o motor!
If(this.engine.potencia >= 145 && this.engine.potencia <= 150){
this.velocidadmax = 125;
}
If(this.engine.potencia >= 150 && this.engine.potencia <= 250){
this.velocidadmax = 155;
}
If(this.engine.potencia >= 250 && this.engine.potencia <= 600){
this.velocidadmax = 220;
}
If(this.engine.potencia >= 600 && this.engine.potencia <= 750){
this.velocidadmax = 240;
}
If(this.engine.potencia >= 750){
this.velocidadmax = 280;
}
this.velocidadatu = 0;
this.marchaatual = "N";
this.ligado = false;
Pronto cheguei onde queria.. hehe
Porque não consigo acessar a class Motor que esta sendo referenciada como "engine" para assim setar a velocidade maxima, como eu poderia fazer referenciar a velocidade a potencia do motor?
Desde já agradeço..
Otima tarde a todos
Boa noite!
Desde já agradeço a atenção Kandrade,pelo que vi tive um probleminha com a logica. hehe
Mas devo construir o motor no metodo montacarro da class car?
ou seja
void montacarro(){
...
this.engine = new Motor();
engine.configuramotor();
...
}
ou bastaia criar o motor na class principal,
logo depois criar o carro na mesma class e finalmente "adicionar" o motor no carro.
como codigo abaixo
public class carro(){
...{
Motor meumotor = new Motor();
meumotor.configuramotor();
car meucarro = new car();
meucarro.engine = meumotor;
}
}
Desculpe a insistência,hehe sou novo por aqui,
Desde já agradeço.
Você poderia fazer isso no método montaCarro.
void montacarro() {
this.marca = JOptionPane.showInputDialog("Qual a marca do Carro?");
this.modelo = JOptionPane.showInputDialog("Qual o modelo do Carro?");
this.cor = JOptionPane.showInputDialog("Qual a cor do Carro?");
this.engine = new Motor();
engine.configuramotor();
...
}Hehe.. funcionou beleza agora..
Obrigado pela força .. abraço..
Antes de usar engine, voce precisa criá-lo, configurá-lo e associá-lo a carro.
Algo do tipo
...