ciao, sto provando a usare java dopo un bel po e mi sono imbattuto in un dubbio terribile:

- ho una classe veicolo che usa un oggetto motore (di cui un metodo é "accendi")
- poi ho una classe moto che usa un oggetto motoreMoto (che estende motore e implemente il metodo giraRuote(direzione)
- infine ho una classe barca che usa un oggetto motoreBarca (che estende motore e implementa il metodo giraPale(direzione))
- evidentemente moto e barca estendono veicolo

ecco un pezzo di codice delle classi in questione
Codice PHP:
//veicolo
protected motore;
public 
Veicolo(motore m){
  
this.motore m;
}

//Barca
public Barca(motoreBarca mb){
  
super.motore mb;
}

public 
Muovi(direzione){
  
this.motore.giraPale(direzione);

// sopra mi sembra che ci sia un errore perché cerco di assegnare un motoreBarca dove andrebbe un motore... come devo organizzare il mio codice per fare questo?
Codice PHP:
MotoreBarca mb = new MotoreBarca(cilindri);
Barca b = new Barca(mb);
b.accendi(); // motoreBarca non lo implemente, ma dovrebbe ereditarlo da motore
b.muovi(avanti); //implementato in barca, usa il metodo giraPale di motoreBarca 
help!